5

我想要update解决方案文件中使用的 Nuget 包,目前,我正在使用以下命令更新 Nuget 包。

NuGet restore <projectPath> [options]

参考:https ://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#restore

如果未找到解决方案文件、packages.config 或 project.json,NuGet 将给出错误。

参考:https ://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#remarks

但问题是我使用的是文件packages.ProjectName.Config而不是文件。packages.config所以 NuGet 更新无法正常工作。

注意:同样,如果文件夹包含多个项目和解决方案文件,NuGet 更新将不起作用。

请建议如何克服这个问题?

编辑:最初我认为源中的packages.[projectname].config使用是 NuGet 包恢复的原因,但后来我发现 NuGet 包甚至没有用 packages.config 文件正确恢复。

我的源中不仅有解决方案和项目文件,删除其他项目后,NuGet 还原在我的源中正常工作。

拥有多个解决方案文件是 Nuget 不更新的原因吗?任何人都遇到过这些问题,任何克服这个问题的帮助都是有用的。

4

2 回答 2

5

Nuget 还原需要 Visual Studio 解决方案文件、packages.config文件或project.json文件。

它的行为见注释

于 2017-03-22T09:54:49.167 回答
1

看起来您无法指定任意名称,但您应该能够适应从 NuGet 2.8 开始的方案。项目名称只需要匹配文件名 - 我不认为空格是允许的。

NuGet 发行说明;

不同平台的独立 packages.config 文件 在为多个目标平台开发应用程序时,通常为每个相应的构建环境拥有不同的项目文件。在不同的项目文件中使用不同的 NuGet 包也很常见,因为包对不同平台具有不同级别的支持。NuGet 2.8 通过为不同的特定于平台的项目文件创建不同的 packages.config 文件来改进对此方案的支持。

ReactiveUI packages.config 文件

看起来像 ReactiveUI 这样做,所以值得检查他们的回购;

ReactiveUI Github

于 2017-05-16T11:02:17.607 回答