首页 > 解决方案 > 在 Visual Studio Build 和 nuget restore 命令期间,packages.config 文件被忽略

问题描述

我正在尝试在 vs 构建或命令行构建上设置自动 nuget 包恢复。遵循指定的 Microsoft 文章时: https ://docs.microsoft.com/en-us/nuget/consume-packages/package-restore#migrate-to-automatic-package-restore-visual-studio

我无法让 Visual Studio 2019 或以下命令(nuget restore mysolution.sln、msbuild -t:restore、msbuild -restore)从我的每个项目中的 packages.config 文件中读取

我尝试了以下方法:

当我为我的解决方案运行 nuget restore 命令时,它会尝试从每个项目文件中的 packagereference 进行恢复,但由于我没有任何内容,因此它什么也不做,但仍会创建相应的 nuget.g.props 和 project.assets.json 文件。我不能在项目文件中使用包引用,因为它不能移植到其他项目。

我需要能够将 packages.config 文件与构建命令之一一起使用。我很困惑为什么这不起作用

标签: visual-studionugetpackages.config

解决方案


您必须.vs从解决方案文件夹中删除隐藏文件夹,它仍然恢复旧的 nuget 管理格式PackageReference,并且仍然使用它。

尝试以下步骤:

1)关闭VS,删除.vs隐藏文件夹和每个bin文件obj夹。

2)确保每个packages.config都在项目文件夹中,以便它可以工作。

3)如果您使用自己的 nuget.config,请确保其包源包含所有 nuget 包。或者文件是多余的,你应该删除它,然后在 VS IDE 下添加 nuget 包源

3)重启VS,update-package-reinstallTools --> Nuget Package Manager --> Package Manager Console下运行

4)之后,您可以删除全局nuget文件夹和本地nuget文件夹,然后运行nuget restore xxx.sln检查。


编辑:确保您的项目不是SDK 风格的项目;packages.config 文件不支持 SDK 项目(请参阅)。


推荐阅读