【问题标题】:Package tried to add reference to System.Runtime which was not found in the GAC包试图添加对 GAC 中未找到的 System.Runtime 的引用
【发布时间】:2020-01-29 03:17:25
【问题描述】:
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”的框架引用。这可能是包中的错误。请联系包裹
业主寻求帮助。
【问题讨论】:
标签:
asp.net
entity-framework
asp.net-mvc-4
package
nuget
【解决方案1】:
我在使用另一个包时遇到了类似的问题。
我“解决”了它添加对丢失库的手动引用,更新包,然后删除手动添加的引用:
添加、更新然后删除。
我知道,这不是一个解决方案,但它可以让您继续工作,直到找到真正的解决方案。
【解决方案2】:
我遇到了同样的问题,但是将 MySQL 包添加到我的项目中。
我解决的方法与 Sebastián Guerrero 给出的答案非常接近。
所以我将手动添加对丢失的库 (system.runtime) 的引用,然后安装 MySQL 包,它可以完美运行。
注意:我只是在安装 MySQL 后才卸载 system.runtime 包。
References -> Add Reference... 然后点击 Browse...
在我的安装 (Windows 10) 中,您的文件位于:
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll
【解决方案3】:
我在 .NET 框架 4.5.2 上运行 Install-Package Microsoft.Azure.Management.Fluent 时遇到了同样的问题
通过以下步骤解决了问题:
- 从 Nuget 安装了 Microsoft.Rest.ClientRuntime 最新版本。
- 之后,从 Nuget 安装最新版本的 Microsoft.Azure.Management.Fluent。
【解决方案4】:
一段时间后我打开项目时遇到了这个问题。
问题在于它最初是使用 Microsoft.Net.Compilers.2.4.0 构建的,而我使用的是 3.3.1。
该项目奇怪地在.csproj 文件中添加了两个必需的Imports,一个用于2.4.0 编译器,另一个用于3.3.1 版本。我只需要:
- 右键单击项目文件
- 卸载项目
- 编辑 csproj 文件
- 删除 2.4.0 引用(也是错误元素中的引用)
- 关闭文件
- 右键项目,重新加载文件。
- 全部重建