1

appSettings と Connectionstrings を別々のファイルに持つプロジェクトを継承しました。SlowCheetah を使用して、各環境の各ファイルの変換を生成しました。

構造は次のようになります appSettings.config appSettings.DEV.config appSettings.UAT.config appSettings.RELEASE.config

connectionStrings.config connectionStrings.DEV.config connectionStrings.UAT.config connectionStrings.RELEASE.config

Visual Studio 2010 のパブリッシュ機能を使用してローカルで変換をテストしました。すべて問題ありません。ただし、TFS でビルド定義を作成し、msbuild を介して展開を自動化すると、変換は適用されません。たとえば、リリース appsettings ファイルには、ベース ファイルの内容が含まれています。変換は適用されません。他の誰かがこれを試したのか、同じ問題を経験したのかと思っていました. 御時間ありがとうございます。

4

1 に答える 1

0

ビルド定義では、おそらく使用する構成を定義しました。その一部には、Any CPU や x86 なども定義されています。解決策として、Platform Any CPU にはスペースがあり、プロジェクト ファイルでは Platform AnyCPU にはスペースがありません。

これを回避する最善の方法は、プラットフォームを空白のままにして、構成名のみを入力することであることがわかりました。VS は、データが不足していることを知らせる警告を表示します。[はい] をクリックして保存します。または、|Release,|Debug のように構成を入力することもできます。

パターンは [PlatformName]|[ConfigurationName],[PlatformName]|[ConfigurationName],... です。

于 2014-07-22T20:27:20.143 に答える