所以我从 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 一直在那个位置寻找包。它应该查看项目中的包文件夹。
<?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 的设置?我将不胜感激解决此问题的任何指导。