UweKeim / ZetaLongPaths

A .NET library to access files and directories with more than 260 characters length.

Home Page:https://nuget.org/packages/ZetaLongPaths

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Standard/Full Framework Version Conflict?

ledzeppln opened this issue · comments

I have a .NET standard library referencing ZetaLongPaths.NetStandard. This library is then referenced by a .NET full framework library. The .NET full framework library is referencing ZetaLongPaths .NET full framework version. When the .NET full framework library runs, I get the following error:

Could not load file or assembly 'ZetaLongPaths, Version=1.0.0.14, Culture=neutral, PublicKeyToken=b764f59068f31f38' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

This seems to be a conflict between the two libraries. Is this expected?

Probably this is kind of "undefined behaviour", as I was (am) not fully clear about that .NET Standard stuff.

If you are not relying on the Long Path features but are using the convenience functions only, you could try whether using Zeta Short Paths is sufficient for your .NET Standard library.

I really should mark the ZetaLongPaths.NetStandard as obsolete or remove it all together, since I do not maintain it anymore.

Sorry for any inconveniences.

The convenience functions are very nice and I like them. However we also need long path support. I'll reference the full framework version of your library for now until I find another solution. Thanks!

As an aside... any reason you are not supporting the .NET standard version going forward?

As an aside... any reason you are not supporting the .NET standard version going forward?

Multiple reasons:

  • To me it feels wrong to have .NET Standard with P/Invoke calls inside
  • I personally do not need it
  • I do not understand 100 % completely the ideas/design principles of .NET Standard
  • From what I understand it seems kind of deprecated