alphaleonis / AlphaFS

AlphaFS is a .NET library providing more complete Win32 file system functionality to the .NET platform than the standard System.IO classes.
http://alphafs.alphaleonis.com/
MIT License
562 stars 99 forks source link

AlphaFS .NET Core compatibility #482

Closed CyberSinh closed 5 years ago

CyberSinh commented 6 years ago

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.

Yomodo commented 6 years ago

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

Genbox commented 6 years ago

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.

CyberSinh commented 6 years ago

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).

Rainmaker52 commented 6 years ago

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.

alphaleonis commented 5 years ago

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