我无法在.net 4.7项目中使用System.Runtime 4.3.0

时间:2017-06-14 16:29:24

标签: c# visual-studio nuget

我有一个安装了System.Runtime版本4.3.0的.net 4.7项目。但是当我运行该项目时,我得到一个例外,它说不能找到版本4.1.0.0。

如果我去nuget经理,我在项目中安装了4.1.0.0版本,然后就可以了。所以我试图再次更新到4.3.0版本,但同样,我遇到了问题。

该项目一直在运作,直到现在,我真的不知道为什么它停止工作,因为我没有触及任何与nuget包有关的东西。

此外,我尝试创建一个新的空解决方案并添加项目,尝试新的解决方案,但问题是一样的。

我怎么能解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:2)

NuGet应该为基于App.config项目的packages.config生成必要的绑定重定向,或者使用AutoGenerateBindingRedirects为{cproj文件设置truePackageReference以引用NuGet包。

如果出于某种原因没有发生这种情况,或者您正在使用来自不同项目/应用程序的库,则可能需要手动将绑定重定向添加到app.config / web.config文件中:< / p>

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>