packages.config 文件在 Visual Studio 构建和 nuget 恢复命令期间被忽略

packages.config file is ignored during Visual Studio Build and nuget restore commands

我正在尝试在 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 个文件。我不能在项目文件中使用 packagereferences,因为这不能移植到其他项目。

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

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

请尝试以下步骤:

1) 关闭 VS,删除 .vs 个隐藏文件夹以及每个 binobj 文件夹。

2) 确保每个 packages.config 都在项目文件夹中,这样它才能工作。

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

3)重启VS,运行update-package -reinstallTools-->下Nuget 包管理器-->包管理器控制台

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


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