【发布时间】:2014-06-04 20:29:36
【问题描述】:
我希望在 Jenkins 构建步骤中动态更改程序集的名称。我有一个能够加载 .csproj 文件并更改 AssemblyName 属性的 powershell 脚本。这会更改 MSBuild 生成的 .exe 的名称。但是,如果程序说崩溃,它仍然会说“[OldName] 已停止工作”,这是不行的。
如何才能完全更改此名称?据我所知,没有其他项目引用我要更改名称的项目,因此引用不应该成为问题。执行右键单击-> 属性时,我还需要更改“详细信息”页面中的其余项目。例如,文件描述、产品名称等。
这是我的 powershell 文件,供那些好奇或将来尝试这样做的人使用:
param($path, $oldName, $newName)
Write-Host "Getting XML file $path"
[xml]$project = get-content $path
Write-Host "Renaming $oldName to $newName"
$project.Project.PropertyGroup |
Where-Object { $_.AssemblyName -eq $oldName } |
ForEach-Object { $_.AssemblyName = $newName }
Write-Host "Saving changes"
$project.Save($path)
【问题讨论】:
-
使用Shared Assembly Info 比乱用csproj文件更好。
标签: c# .net jenkins msbuild .net-assembly