【发布时间】:2018-11-15 00:45:25
【问题描述】:
所以我从 nuget packages.config 迁移到 PackageReference,发现存在一些兼容性问题。我将项目恢复到其工作状态(在 PackageReference 之前),现在我的项目没有编译。
我收到以下错误:
严重性代码描述项目文件行抑制状态 错误 在 C:\Users\user.nuget\packages 中找不到版本 6.2.0 的包 EntityFramework。运行 NuGet 包还原以下载包。数据库管理器
这发生在多个包上。似乎 Nuget 出于某种原因正在 user.net\package 目录中搜索包。最初,项目中有一个包含所有包的文件夹。
我通过编辑 NuGet.Config 文件强制全局路径位于项目内的文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="C:\Projects\App\App Source\packages\" />
<add key="globalPackagesFolder" value="C:\Projects\App\App Source\packages\" />
</config>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
</configuration>
我不知道为什么 Nuget 一直在那个位置寻找包。它应该查看项目中的 packages 文件夹。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.2.0" targetFramework="net46" />
<package id="EntityFramework6.Npgsql" version="3.1.1" targetFramework="net46" />
<package id="Npgsql" version="3.2.7" targetFramework="net46" />
<package id="System.Threading.Tasks.Extensions" version="4.3.0" targetFramework="net46" />
<package id="Z.EntityFramework.Plus.EF6" version="1.7.17" targetFramework="net46" />
</packages>
packages.config 中的所有这些包都找不到。当我尝试 PackageReference 时,这个问题就开始发生了。
有没有办法重置 Nuget 的设置?对于解决此问题的任何指导,我将不胜感激。
【问题讨论】:
-
我遇到了类似的问题并通过清除 NuGet 缓存解决了它(VS => 工具 => 选项 =>NuGet 包管理器 => 清除缓存)
-
试过了。没有改变任何东西。它一直在默认的 nuget 全局路径(在用户下)寻找包...我正在考虑进行全新安装,但我不确定是哪个问题:我的本地项目、Nuget 或 Visual Studios
-
你有没有解决过这个问题。我也有同样的问题。
标签: visual-studio nuget-package nuget-package-restore packagereference