在发布期间替换web.config中的GUID

时间:2014-04-15 15:02:48

标签: visual-studio msbuild web-config-transform

我正在寻找一种在我的web.config文件中使用GUID的方法,该文件在发布时转换为新的GUID。

例如:

<add key="someGuid" value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />

当您使用MSBuild或Visual Studio的发布屏幕发布应用程序时,生成的配置文件在转换后包含一个全新的GUID,如:

<add key="someGuid" value="ab15c61ba16d1651a6c89a621d64c4f8" />

基本上,每次发布应用程序时都需要一个新的GUID,但是还需要能够在没有完全重新编译的情况下按需替换此GUID。

在我构建自定义内容之前,使用占位符并手动替换文本,我想看看是否有配置转换或内置的MSBuild功能可以提供帮助。

1 个答案:

答案 0 :(得分:2)

在MSBuild中,您可以创建一个像这样的新GUID

<PropertyGroup>
  <SomeGuid>$([System.Guid]::NewGuid())</SomeGuid>
</PropertyGroup>

然后您可以使用XmlPoke任务使用新创建的属性$(SomeGuid)进行替换。

摘自书中MSBuild Trickery技巧#9和#101