【问题标题】:Replace GUID in web.config during publish在发布期间替换 web.config 中的 GUID
【发布时间】:2014-05-30 00:50:05
【问题描述】:

我正在寻找一种在我的 web.config 文件中添加 GUID 的方法,它会在发布时转换为新的 GUID。

例如:

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

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

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

基本上,我每次发布应用程序时都需要一个新的 GUID,但还需要能够按需替换此 GUID 而无需完全重新编译。

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

【问题讨论】:

  • 你有没有找到在 web.config.release 中使用 xdt 转换的方法?
  • @Rumpelstinsk 我最终在 web.config 之外得到了一些自定义的东西,无论如何它实际上效果更好。我不知道是否有内置方式,自从提出这个问题以来,他们已经在框架上做了很多工作,所以我不知道是否有一个简单的内置方式,除了列出的答案。

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多