切换回 packages.config
Switch back to packages.config
是否可以切换回 packages.config
方案?我在创建项目时转向 PackageReference
方案,但由于某些原因现在需要转向旧方式。
我已经尝试使用 Update
和 Reinstall
选项进行还原等程序包管理器控制台命令。他们不再生成 packages.config。我还将 Tools > Options > NuGet Package Manager
切换为 packages.config
。不好。
您需要:
- 向项目添加一个 "empty"
packages.config
文件(即 xml 与 the example 相同,但没有单独的 <package>
元素)
- 卸载项目或关闭 vs 并在文本编辑器中打开
csproj
文件。
- 从项目文件中删除所有
PackageReference
个元素。
- 确保项目文件中没有设置
<RestoreProjectStyle>
。
- 在 VS 中重新打开项目。
我少了一步:
4.5. Make sure that Tools>Options>NuGet Package Manager>General>Default package management format
is set to Packages.config
想再补充一件事。我尝试了上述所有步骤,并且 Visual Studio 一直尝试使用全局包位置,而不是 Nuget.config 中的 repositoryPath。最后发现在我的项目的obj目录中有一个package-lock.json文件,其中存储了全局包目录。出于某种原因,Visual Studio 中的清理操作没有删除文件,所以我最后做了一个
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
文件夹
使用截图重新下载包
是否可以切换回 packages.config
方案?我在创建项目时转向 PackageReference
方案,但由于某些原因现在需要转向旧方式。
我已经尝试使用 Update
和 Reinstall
选项进行还原等程序包管理器控制台命令。他们不再生成 packages.config。我还将 Tools > Options > NuGet Package Manager
切换为 packages.config
。不好。
您需要:
- 向项目添加一个 "empty"
packages.config
文件(即 xml 与 the example 相同,但没有单独的<package>
元素) - 卸载项目或关闭 vs 并在文本编辑器中打开
csproj
文件。 - 从项目文件中删除所有
PackageReference
个元素。 - 确保项目文件中没有设置
<RestoreProjectStyle>
。 - 在 VS 中重新打开项目。
我少了一步:
4.5. Make sure that
Tools>Options>NuGet Package Manager>General>Default package management format
is set toPackages.config
想再补充一件事。我尝试了上述所有步骤,并且 Visual Studio 一直尝试使用全局包位置,而不是 Nuget.config 中的 repositoryPath。最后发现在我的项目的obj目录中有一个package-lock.json文件,其中存储了全局包目录。出于某种原因,Visual Studio 中的清理操作没有删除文件,所以我最后做了一个
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
文件夹使用截图重新下载包