切换回packages.config - 答案说明

Den*_*nis 2 nuget packages.config visual-studio-2017 packagereference

根据规则,我必须提出一个新问题,以澄清另一个问题/答案。

这个答案是这个:https : //stackoverflow.com/a/45964469/305916

然后呢?刚刚做了接受的答案,但packages.config 文件没有填充包(我知道它没有这么说)。

如果包自动出现在packages.config 中,或者我需要再次安装它们,我会错过下一步该怎么做...

我倾向于后者,但我觉得答案不完整:)

但是该怎么办呢?

ziv*_*kan 5

首先,您是否介意编辑您的问题,或作为评论发布,为什么要恢复到packages.config?作为 NuGet 团队的成员,了解 PackageReference 不适合您的原因很有用。如果这不是PackagesConfig 限制中列出的原因之一,包括包兼容性部分,也许我们可以帮助解决该问题,以便您可以继续使用 PackageReference。

如果你真的想恢复到packages.config,我建议以下,而不是你链接的答案。

  1. 转到选项,NuGet PackageManager->General 并启用 Allow format selection on first package install
  2. 使用“管理 NuGet 包”(包管理器 UI)卸载项目中的所有包。您可以使用包管理器控制台进行卸载,但下一步必须使用包管理器 UI。跟踪您卸载了哪些软件包,以便您知道下一步要重新安装哪些软件包。
  3. 一旦您的项目没有包引用,请再次安装您需要的包。您安装的第一个包会弹出一个对话框,您可以在其中选择使用 packages.config 或 PackageReference。如果您没有跟踪在上一步中卸载了哪些软件包,请使用源代码控制系统来比较您的项目文件,或查看未修改的副本,并查找PackageReference.

需要卸载项目中的所有包安装一个新包,因为如果项目文件中存在任何PackageReference,NuGet 会添加新包作为PackageReference。因此您不能卸载第一个包,重新安装它,然后在项目中移动第二个包。

  • 我们发现使用包引用我们的构建没有正确打包(nuget pack)依赖项。于是我们又回来了。你的过程就是我们最终要做的事情。时不时地清理一下obj文件夹,让VS中的参考列表能够正确显示。 (3认同)