我有一个包含很多解决方案的存储库。 有时我需要将一个包更新到较新版本。 逐个打开每个解决方案并通过 Visual Studio 更新太慢了。
有什么好方法可以一次性为同一 Git 存储库中的多个解决方案更新单个包到较新版本?
我有一个包含很多解决方案的存储库。 有时我需要将一个包更新到较新版本。 逐个打开每个解决方案并通过 Visual Studio 更新太慢了。
有什么好方法可以一次性为同一 Git 存储库中的多个解决方案更新单个包到较新版本?
更新解决方案文件
使用正则表达式查找: <Reference Include="EntityFramework((?s).*?)</Reference>
位置: *.csproj
替换为: <Reference Include=\"EntityFramework, Version=6.0.0.0\">\n\t\t<HintPath>$\(SolutionDir\)\\packages\\EntityFramework.6.0.0\\lib\\net45\\EntityFramework.dll<\/HintPath>\n\t<\/Reference>
更新包文件
使用正则表达式查找: <package id="EntityFramework" version="((?s).*?)" targetFramework="net45" />
位置: packages.config
替换为: <package id="EntityFramework" version="6.0.0" targetFramework="net45" />
param(
[Parameter(Mandatory=$true)]
[string]$packageId
)
Get-ChildItem *.sln -recurse | %{.\\nuget.exe restore $_.fullname}
Get-ChildItem packages.config -Recurse `
| Where-Object {$_ | Select-String -Pattern $packageId} `
| %{.\\nuget.exe update -Id $packageId $_.FullName}