我正在寻找一种在我的web.config文件中使用GUID的方法,该文件在发布时转换为新的GUID。
例如:
<add key="someGuid" value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" />
当您使用MSBuild或Visual Studio的发布屏幕发布应用程序时,生成的配置文件在转换后包含一个全新的GUID,如:
<add key="someGuid" value="ab15c61ba16d1651a6c89a621d64c4f8" />
基本上,每次发布应用程序时都需要一个新的GUID,但是还需要能够在没有完全重新编译的情况下按需替换此GUID。
在我构建自定义内容之前,使用占位符并手动替换文本,我想看看是否有配置转换或内置的MSBuild功能可以提供帮助。
答案 0 :(得分:2)
在MSBuild中,您可以创建一个像这样的新GUID
<PropertyGroup>
<SomeGuid>$([System.Guid]::NewGuid())</SomeGuid>
</PropertyGroup>
然后您可以使用XmlPoke任务使用新创建的属性$(SomeGuid)进行替换。
摘自书中MSBuild Trickery技巧#9和#101