在.net 4.6.2

时间:2017-09-13 18:02:56

标签: c# asp.net .net visual-studio-2017 .net-standard

我创建了一个.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" />

2 个答案:

答案 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