mat*_*zek 17 powershell command-line nuget
我们有一个场景,不同的团队在更大的产品的不同部分工作.有时,所有解决方案的所有Visual Studio项目都需要更新一些引用的NuGet包.作为该更新的结果,整个源树中的所有项目都应该引用相同版本的包.
有没有办法使用像PowerShell脚本这样的自动方法将特定的NuGet包更新到所有项目中的特定版本?
编辑:有没有办法以某种方式加载Visual Studio和NuGet的必要部分,以正确更新程序集引用?
例:
NuGetScript Update Solution.sln PackageName -version NewVersion
Run Code Online (Sandbox Code Playgroud)
要么
NuGetScript Update PathToProjects PackageName -version NewVersion
Run Code Online (Sandbox Code Playgroud)
在Visual Studio中加载所有组件的组件太多,并通过包管理器UI手动更新它们.
Wei*_*SFT 19
请在Package Manager控制台窗口中使用以下命令行在一个解决方案中更新特定包.
Get-Project -All | Update-Package PackageName -Version newVersion
您可以创建PowerShell脚本来搜索解决方案中的所有项目文件或packages.config文件,然后调用nuget update命令来更新软件包.
但是,在Visual Studio之外更新包时存在限制,我建议您从Visual Studio执行此操作:
update命令将下载所有新包并将其解压缩到packages文件夹中.程序集引用将在项目文件中更新,但这仅限于现有引用.如果新包具有添加的程序集,则不会将其添加为更新命令的一部分.新的包依赖项也不会添加其程序集引用.要执行完整更新,请使用Visual Studio.