2

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

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

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

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

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

但是该怎么办?

4

2 回答 2

5

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

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

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

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

于 2018-11-16T19:37:28.890 回答
0

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

是的,您必须再次安装这些软件包。那是因为不支持从PackageReference->自动迁移项目。packages.config

检查线程:

https://github.com/NuGet/Home/issues/4973

为此,您可以按照以下步骤操作:

首先,将包管理更改为 Packages.config,Tools-> Options-> NuGet Package Manager-> Package Management

在此处输入图像描述

其次,卸载项目并编辑它,PackageReference从项目文件中删除所有元素(确保未在项目文件中设置。)。

第三,重新加载项目,然后重新安装这些包。

希望这可以帮助。

于 2018-11-19T02:54:09.393 回答