リリースパイプラインに非常に単純な変数置換がありますが、機能しません。私はconnectionStrings.config
ファイルに変数を持っています:
<?xml version="1.0"?>
<connectionStrings>
<add name="ExpenseDBConnectionString" connectionString="__ProdConnString__" providerName="System.Data.SqlClient" />
</connectionStrings>
次に、リリースパイプラインで変数を定義します。
デプロイタスクでもXML Variable Substitution
を有効にしています。
しかし、リリースを実行すると、変数は置換されません。ログにこのメッセージが表示されます。
2020-02-28T19:57:26.1262198Z Initiated variable substitution in config file : D:\a\_temp\temp_web_package_875508750741006\Content\D_C\a\1\s\Expenses.Web\obj\Release\Package\PackageTmp\App_Config\ConnectionStrings.config
2020-02-28T19:57:26.1312311Z Processing substitution for xml node : connectionStrings
2020-02-28T19:57:26.1321602Z Skipped Updating file: D:\a\_temp\temp_web_package_875508750741006\Content\D_C\a\1\s\Expenses.Web\obj\Release\Package\PackageTmp\App_Config\ConnectionStrings.config
これはかなり単純なはずなので、どの設定が欠けているのかはわかりません。助けて!
リリースパイプラインでは、変数名をExpenseDBConnectionString
として定義する必要があります。以下は設定の説明ですXML variable substitution
。変数はkey
またはname
エントリと照合されます
ビルドまたはリリースパイプラインで定義された変数は、構成ファイルとparameters.xmlのappSettings、applicationSettings、およびconnectionStringsセクションの「key」または「name」エントリと照合されます。変数置換は、構成変換後に実行されます。
したがって、定義された変数は以下のようになります。
以下のスクリーンショットは、私のテストリリースの結果です。connectionStringが置き換えられたことがわかります。
XML変数置換の詳細については、チェックアウトしてください here 。
構成設定を置き換えるために使用できるサードパーティの代替ツール(つまり、 Magic Chunks )もあります。 this thread の例を確認してください。
XML transformation will be run on the *.config file for transformation configuration files named *.Release.config or *.<stage>.config
それはあなたの答えでなければなりませんか?あなたのファイル名はそうではありません。