我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
这似乎是通过VS Nuget UI执行更新时实际发生的情况,因此我认为这样做然后重新构建解决方案将处理所有内容,有点像手动编辑
然而,这种方法不起作用; .csproj文件中的引用在构建时不会像Nuget更新配置文件时那样得到更新。
我可以手动更新.csproj文件,例如查找和替换。
我正在开发一个包含250多个项目的大型解决方案。使用Visual Studio Nuget UI或Nuget命令行工具更新所有这些项目中使用的共同Nuget包需要2到3个小时。我正在寻找一种通过手动更新文件来更快地完成此操作的方法。
我的第一个想法是我只需要在每个项目的*.config
文件中更新软件包版本号。例如,查找和替换
<package id="ThisPackage" version="0.0.0.1" targetFramework="net452" />
使用
<package id="ThisPackage" version="0.0.0.2" targetFramework="net452" />
这似乎是通过VS Nuget UI执行更新时实际发生的情况,因此我认为这样做然后重新构建解决方案将处理所有内容,有点像手动编辑
package.json
中的依赖项,然后在Node中运行npm install
。然而,这种方法不起作用; .csproj文件中的引用在构建时不会像Nuget更新配置文件时那样得到更新。
我可以手动更新.csproj文件,例如查找和替换。
<HintPath>..\..\packages\ThisPackage.0.0.0.1\
使用
<HintPath>..\..\packages\ThisPackage.0.0.0.2\
但是我想我也需要更新引用的程序集版本,我不确定如何确定它们应该是给定Nuget包版本的什么。此外,在这一点上,尽管只需要半小时的工作时间而不是三个小时的空闲时间,但变得有些棘手和容易出错。
有没有人找到了一种方法来在解决方案中的大量项目中更新Nuget包,而不需要花费多个小时的时间?
nuget update -id Package.Id mysolution.sln
- Tim Barclay