Web.config 在发布时不会转换



我正在尝试在我的一个 C# 项目中应用配置转换。当我对 QA 配置文件执行"预览转换"时,我可以看到应用的转换,但是当我使用 QA 配置文件发布时,我仍然可以看到部署中的默认配置(而不是转换后的配置(。我不想要构建上的转换(我知道慢猎豹在这方面有所帮助(,我只需要在发布时进行转换。我们是否需要在 .csproj 文件中执行任何更改才能在发布时启用转换。

编辑:通过gkb添加示例配置请求。我们在 web.config 中有条目:

<connectionStrings>
        <add name="DefaultConnection" connectionString="Data Source=(LocalDb)MSSQLLocalDB;AttachDbFilename=|DataDirectory|xxxx.mdf;Initial Catalog=xxxx;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

我的网络有下面。Debug-QA.config:

    <?xml version="1.0" encoding="utf-8"?>
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>
  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
  </system.web>
</configuration>

在我们的项目中,我们有两个不同的步骤:

  1. 在构建时用慢猎豹变换
    (我知道你写过你不想使用它,但试一试(

在构建时,我们在配置中创建令牌。app.release 文件如下所示:

<?xml version="1.0"?>
<!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="InstrumentationKey" value="__InstrumentationKey__" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
  </appSettings>
</configuration>

例如,在发布构建后,我们的应用程序配置如下所示:

<configuration>
    <appSettings>
        <add key="InstrumentationKey" value="__InstrumentationKey__" />
    </appSettings>
</configuration>
  1. 在发布时,我们会为每个特定环境替换令牌

我不知道你的发布过程...但是在我们的例子中,我们为每个环境提供了一个替换列表。

当我们发布时,所有令牌(带有两个下划线的家伙(都会替换为每个环境的特定值。

相关内容

  • 没有找到相关文章

最新更新