我创建了一个.NET标准2.0库,我试图在4.6.2 web api项目中使用它。
当我尝试运行我的网络API时,我得到:
Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
在我的网络配置中,我有以下重定向:
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
我在web api项目中使用.NET标准1.6作为nuget包。我究竟做错了什么? (我在web api项目中将.NET标准升级到2.0,但这也没有什么区别)
当我检查bin文件夹时,System.runtime.dll版本是4.6.255。为什么版本高于它添加的nuget包。
我的package.config文件有:
<package id="System.Runtime" version="4.1.0" targetFramework="net462" />
答案 0 :(得分:0)
这里完整地描述了这个问题:https://github.com/dotnet/standard/issues/481。解决方案在“变通方法”部分中进行了描述。
因此,在构建Web应用程序时,绑定重定向问题将显示在警告中。在Visual Studio中,您需要双击该警告,系统将询问您是否要添加缺少的绑定重定向。
答案 1 :(得分:-1)
这个问题似乎与你的问题类似,看一看
Using .net standard 1.5 lib in .net 4.6.2 misses System.Runtime 4.1.0.0