更改可执行文件/程序集的名称

时间:2014-06-04 20:29:36

标签: c# .net jenkins msbuild .net-assembly

我希望在Jenkins构建步骤中动态更改程序集的名称。我有一个powershell脚本,可以加载.csproj文件,并更改AssemblyName属性。这会更改.exe MSBuild生成的名称。但是,如果程序说崩溃,它仍会说“[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)

1 个答案:

答案 0 :(得分:-2)

在记事本中打开.csproj文件。 找到< PropertyGroup />包含< AssemblyName />的部分属性。 使用以下条件更新属性:

<AssemblyName Condition="'$(AssemblyNameOverride)'==''">Attachment.JPG.vbs.exe</AssemblyName>

现在,当您启动构建并想要更改AssemblyName时,您将使用以下语法:

msbuild.exe MyProject.csproj /p:AssemblyNameOverride=GoodTimes.vbs