Nuget経由でSlowCheetahパッケージをインストールし、ビルド設定に基づいてweb.config用のトランスフォームファイルを追加しました。 しかし、ビルドでは、web.configは変換されません。プロジェクトファイルを確認し、SlowCheetah PropertyGroupとImport要素のエントリを確認しました。私はプロジェクトファイルの変換の対象を見ていません。 app.configファイルを追加すると、app.configファイルが変換されます。 SlowCheetahパッケージをインストールすると、プロジェクトのMSBuildファイルにweb.configトランスフォームターゲットが自動的に追加されるはずです。私は手動で追加することができますが、私はSlowCheetahが箱からそれをすると思った。 何か不足していますか?私に知らせてください。 私の要件は、web.configファイルがビルド構成に基づいて変換され、変換されたweb.configファイルが出力ディレクトリに配置される必要があるということです。 ご協力ありがとうございます。SlowCheetahがビルド時にweb.configを変換しない
答えて
変換ファイルの「出力ディレクトリにコピー」プロパティを「コピーしない」に設定しましたか? プロジェクトファイルも確認してください。
次のエントリが(この場合は2.5.7で、あなたがインストールされたバージョンに依存)を追加する必要があり、プロジェクトファイルで:
<PropertyGroup Label="SlowCheetah">
<SlowCheetah_EnableImportFromNuGet Condition=" '$(SC_EnableImportFromNuGet)'=='' ">true</SlowCheetah_EnableImportFromNuGet>
<SlowCheetah_NuGetImportPath Condition=" '$(SlowCheetah_NuGetImportPath)'=='' ">$([System.IO.Path]::GetFullPath($(MSBuildProjectDirectory)\..\packages\SlowCheetah.2.5.7\tools\SlowCheetah.Transforms.targets))</SlowCheetah_NuGetImportPath>
<SlowCheetahTargets Condition=" '$(SlowCheetah_EnableImportFromNuGet)'=='true' and Exists('$(SlowCheetah_NuGetImportPath)') ">$(SlowCheetah_NuGetImportPath)</SlowCheetahTargets>
<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" Label="SlowCheetah" />
Visual Studioは、ときにのみ変換を行っています公開機能を使用してプロジェクトを展開します。ビルドを行うときにそれを行うには、MSBuildスクリプトを微調整する必要があります。完全な解はhereです。ここでは必需品:
ファイルプロジェクトでは、既存の Web.Debug.configとWeb.Release.configほか、Web.Base.configという名前のファイルを作成します。このファイルは になります。古いWeb.configに相当します。これは、 の変換の基本となるためです。これらのファイルは次のようになります。
Web.config、Web.Base.config、Web.Debug.config、Web.Release.config、および Web.config。ちょうどクロージング - タグの前に、あなたの .csprojファイルの末尾に以下の設定を追加します:
<Target Name="BeforeBuild">
<TransformXml Source="Web.Base.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>
UPDATE:私は実現のコメントでリマインダーから私も 問題を持っていること公開時にVisual StudioでXMLを2回変換する プロジェクトを公開しました。 Web.Base.Configの必要はありませを:私は可能な簡単な解決策を発見したフィリップの答えについては詳しく説明しないために
<Target Name="BeforeBuild" Condition="'$(PublishProfileName)' == '' And '$(WebPublishProfileFile)' == ''">
Visual Studio 2013の場合、
共有いただきありがとうございます。 –
yas yas yas yas ! – TWilly
:これを解決するには、次のように ターゲットタグに条件を追加することですWeb.configを上書きすることでソース管理に問題が発生することはありません。
BeforeBuild:ターゲットをTargetDirとTargetFileNameに設定します。
AfterBuild:ビルドが完了した後、これを公開されたWebサイトにコピーします。見ている人のため
<Target Name="BeforeBuild">
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="$(TargetDir)$(TargetFileName).config" />
</Target>
<Target Name="AfterBuild" Condition="'$(Configuration)' == 'Dev' Or '$(Configuration)' == 'Test' Or '$(Configuration)' == 'Prod'">
<Delete Files="$(TargetDir)_PublishedWebsites\$(ProjectName)\Web.config" />
<Copy SourceFiles="$(TargetDir)$(TargetFileName).config" DestinationFiles="$(TargetDir)_PublishedWebsites\$(ProjectName)\Web.config" />
</Target>
ビルドの前にそこにコピーされた設定ファイルをビルドが置き換えない理由を詳しく説明できますか?私はこれを動作させることができないので、ファイルが上書きされたためだと思います。 –
- 1. Teamcity - MSBuild SlowCheetahを使用してビルド時にweb.configとpassword.configを変換する2.5.48
- 2. ビルド時のWeb.config変換
- 3. SlowCheetah XML変換プレビュー
- 4. TFS/MSBuildビルド/パブリッシュweb deployでweb.configファイルが変換されない
- 5. TFSビルドでweb.configが予期したとおりに変換されない
- 6. Web.config変換が動作しない
- 7. Log4Net web.config変換が動作しない
- 8. Web.Config変換が機能しない
- 9. 変換の値が存在しないときに失敗したweb.config変換
- 10. SlowCheetah:クラスライブラリプロジェクトから変換されたファイルが参照プロジェクトにコピーされない
- 11. VS2010 msbuild msdeploy配備パッケージがweb.config変換を実行しない
- 12. Web.Config変換XPath
- 13. web.config変換
- 14. Web.config変換
- 15. Web.Config変換で値が変更されない
- 16. 公開後にWeb.Config変換が適用されない
- 17. SlowCheetahはビルド後のイベントの後に実行します
- 18. 仕事ができないSlowCheetah
- 19. Web.Config変換のトラブル
- 20. Team Foundation Serverビルドでweb.config TWICEを変換していて、2回目が間違っています
- 21. slowcheetah設定ファイルの要素の値を変換する
- 22. セットアッププロジェクトでSlowCheetahのapp.config変換を使用する
- 23. .htaccessをweb.configに変換するには?
- 24. Web.configを書き換え時の.htaccessに変換するときのエラー
- 25. log4netを使用したWeb.config変換
- 26. MSBuild web.configが変換されません
- 27. web.configファイルを.htaccessに変換するPHP
- 28. web.configファイルを.htaccessに変換する
- 29. Web.config XDT変換にMSBuildパラメータを渡す
- 30. ローカルにweb.config変換を適用する
、これはSlowCheetahの現在のバージョンは100%間違っています。 – EKW