包试图添加对GAC中未找到的System.Runtime的引用

15

ASP.NET 4.5.1或4.5.2

升级Nuget包MicrosoftAspNet.Identity.EntityFramework从版本2.2.1到版本3.0.0-rc1-final

我收到以下错误提示:

添加引用失败。包'Microsoft.AspNet.Identity.EntityFramework'试图添加一个在GAC中找不到的框架引用'System.Runtime'。这可能是包中的一个bug,请联系包的所有者以获取帮助。

4个回答

29

我曾经遇到另一个程序包的类似问题。

我“解决”了这个问题,手动添加了缺失库的引用,更新了该程序包,然后再删除手动添加的引用:

  • 在您的项目中转到 引用 -> 添加引用... 然后单击 浏览...

  • 在我的安装(Windows 10)中,您的文件位于:C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll

添加、更新,然后再删掉。

我知道这不是一个真正的解决方案,但它可以让您继续工作,直到找到真正的解决方案。


6

我曾经遇到过同样的问题,但是通过向我的项目添加MySQL包来解决了这个问题。

我的解决方法非常接近Sebastián Guerrero提供的答案。

所以我会手动引用那个缺失的库(system.runtime),然后安装MySQL包,它就完美地工作了。

注意:在安装MySQL之后,我只卸载了system.runtime包。

引用->添加引用...然后点击浏览...

在我的安装(Windows 10)中,您的文件位于: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll


2

当我在.NET framework 4.5.2上运行Install-Package Microsoft.Azure.Management.Fluent时,遇到了同样的问题。

通过以下步骤解决了该问题:

  1. 从Nuget安装了Microsoft.Rest.ClientRuntime的最新版本。
  2. 之后,从Nuget安装了Microsoft.Azure.Management.Fluent的最新版本。

1

我在一段时间后打开项目时遇到了这个问题。

问题是它最初是使用 Microsoft.Net.Compilers.2.4.0 构建的,而我使用的是 3.3.1 版本。

该项目奇怪地向 .csproj 文件中添加了两个必需的 Imports,一个是针对 2.4.0 编译器的,另一个是针对重复的 3.3.1 版本的。 我只需要:

  • 右键单击项目文件
  • 卸载项目
  • 编辑 csproj 文件
  • 删除 2.4.0 引用(也是 Error 元素中的引用)
  • 关闭文件
  • 右键单击项目,重新加载文件。
  • 重新构建全部

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接