是否可以切换回packages.config
事物方案?我在创建项目时转向了PackageReference
计划,但由于某些原因现在需要转向旧的方式。
我已经尝试过包管理器控制台命令,例如使用Update
和Reinstall
选项恢复。他们不再生成 packages.config 了。我也切换Tools > Options > NuGet Package Manager
到packages.config
. 不好。
是否可以切换回packages.config
事物方案?我在创建项目时转向了PackageReference
计划,但由于某些原因现在需要转向旧的方式。
我已经尝试过包管理器控制台命令,例如使用Update
和Reinstall
选项恢复。他们不再生成 packages.config 了。我也切换Tools > Options > NuGet Package Manager
到packages.config
. 不好。
您需要:
packages.config
中的 xml,但没有单个元素)<package>
csproj
在文本编辑器中打开文件。PackageReference
从项目文件中删除所有元素。<RestoreProjectStyle>
未在项目文件中设置。我少了一步:
4.5. 确保
Tools>Options>NuGet Package Manager>General>Default package management format
设置为Packages.config
想再补充一件事。我尝试了上述所有步骤,Visual Studio 一直在尝试使用全局包位置,而不是 Nuget.config 中的 repositoryPath。最后发现我的项目的 obj 目录中有一个package-lock.json文件,其中存储了全局包目录。出于某种原因,Visual Studio 中的 Clean 操作没有删除文件,所以我最后做了一个
git clean -x -d -f
在我的存储库的根目录。这会删除所有未跟踪的文件和目录,并忽略 .gitignore 文件的模式。这有点过分,我本可以尝试手动找到它们,但它完成了工作。现在 Nuget 恢复正确地使用了 Nuget.Config 文件中指定的 repositoryPath 设置。
我是如何让它工作的:
packages.config
文件并将其复制到其中:<?xml version="1.0" encoding="utf-8"?> <packages> </packages>
卸载项目并在文本编辑器中打开 csproj 文件。
从项目文件中删除所有 PackageReference 元素。
确保<RestoreProjectStyle>
未在项目文件中设置。
确保:
工具>选项> NuGet包管理器>常规>默认包管理格式设置为Packages.config
删除obj
项目中的文件夹
使用屏幕截图再次重新下载包