Abstract.FileSystem
1.0.0-RC08
See the version list below for details.
dotnet add package Abstract.FileSystem --version 1.0.0-RC08
NuGet\Install-Package Abstract.FileSystem -Version 1.0.0-RC08
<PackageReference Include="Abstract.FileSystem" Version="1.0.0-RC08" />
paket add Abstract.FileSystem --version 1.0.0-RC08
#r "nuget: Abstract.FileSystem, 1.0.0-RC08"
// Install Abstract.FileSystem as a Cake Addin #addin nuget:?package=Abstract.FileSystem&version=1.0.0-RC08&prerelease // Install Abstract.FileSystem as a Cake Tool #tool nuget:?package=Abstract.FileSystem&version=1.0.0-RC08&prerelease
Abstract.FileSystem
Abstraction for the .Net Filesystem classes
Wrappers for some common classes from System.IO Namespace to create a layer of abstraction
Current abstractions of System.IO
- Directory
- File
- Path
Usage in code
Instead of using the Namespace System.IO include the Namespace Abstract.FileSystem to use Directory or File.
Usage in Tests
Abstract.FileSystem.Directory and Abstract.FileSystem.File both have a Factory Property. This can be set through the static method Setup(Func<IFileService> service) or Setup(Func<IDirectoryService> service). The Interface IFileService and IDirectoryService both provide the abstraction layers.
_service = new Mock<IDirectoryService>();
Directory.Setup(() => _service.Object);
Now all Access to Abstract.FileSystem.Directory use the Mock of IDirectoryServerice
SystemPath
Path behaviour on Linux differs from Windows. For this reason there is a class for SystemPath that manages paths depending on the system that is run on.
var path = (SystemPath)"Test" / "Path";
path.ToString();
On a Windows this results in
Test\Path
while on a Unix system the result looks different
Test/Path
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.6 | 357 | 8/21/2024 |
1.0.5 | 132 | 6/7/2024 |
1.0.4 | 153 | 4/12/2024 |
1.0.3 | 168 | 1/22/2024 |
1.0.2 | 167 | 12/22/2023 |
1.0.1 | 107 | 12/13/2023 |
1.0.0-RC08 | 96 | 12/12/2023 |
1.0.0-RC07 | 114 | 11/26/2023 |