Redirect for Nuget Package DLL files

I would like to use the Nuget Package Microsoft.CodeAnalytics in the newest version

If I build the solution, there are issues regarding different versions of dlls that are part of the .NET framework

For example:

Zwischen "Reference:System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" und "Reference:System.IO.FileSystem" ist ein Konflikt aufgetreten. "Reference:System.IO.FileSystem wird ausgewählt, da AssemblyVersion "4.0.3.0" höher ist als "4.0.2.0". (Aufgaben-ID: 19)

The referenced assemblies can be found in downloaded Nuget packages that came with Microsoft.CodeAnalytics.

The dlls are not copied locally when building. If I deploy the application like this, the program throws exceptions because it cannot find the referenced assemblies.

The solution would be to make the dlls look for the newest version but I don't know how to do that.

In the app.config the redirect is written down.

<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />

If I try to run the application like this, it still throws errors because it cannot find the .dll in version 4.0.2.0 when calling classes of the CodeAnalytics-package.

How do I get Visual Studio/msbuild to copy the files locally even if there are file versions higher in .NET Framework or how do I get the dll to look for the correct version of the other dll?

#c-sharp #visual-studio

2 Likes2.35 GEEK