alphaleonis/AlphaFS

AlphaFS .NET Core compatibility

Closed this issue · 5 comments

Hi,

I tried to use AlphaFS in a .NET Core project and I get the following warning:

Package 'AlphaFS 2.2.3' was restored using '.NETFramework,Version=v4.6.1' instead the project target framework '.NETCoreApp,Version=v2.1'. This package may not be fully compatible with your project.

The AlphaFS nuget package is it fully compatible with the latest .NET Core version (on Windows)?

Do you plan to support .NET Standard (even if AlphaFS is only a Windows project and will never be multiplatform)?

Thanks.

It is going to depend on how much work this is going to take.

It is quite easy.

  1. Create a new csproj based project file
  2. Reference the "System.IO.FileSystem.AccessControl" package
  3. Move all the stuff from the old AssemblyInfo.cs into the project file. See https://github.com/Genbox/AlphaFS/blob/develop/AlphaFS/AlphaFS.csproj for an example.
  4. Remove AssemblyInfo.cs files and nuspec (no longer needed)

After that there are only 7-8 errors left regarding some deprecated and removed stuff in .NET Core.

I ran the Portability Analyzer tool on my WPF project (which uses AlphaFS) and the tool only complains about using the RIPEMD160 class (used in File.GetHashCore.cs).

I just ran the same compatibility analyser, specifically for AlphaFS.

.NET Core 2.0 or .NET Standard 2.0 has a lot of issues.

But, for .NET Core 3.0, only the aformentioned RPEMD160 is marked as "Unsupported".
The same is true for .NET Core 2.0 + Platform Extensions.

Interesting that Mono 4.5 seems fully supported. Which is kind of strange for a library which almost exclusively interfaces with Windows DLLs.

We plan to add support for .netstandard 2.0 in the next release.