SlowCheetahプラグインを使用します。SlowCheetahの使用方法の詳細と詳細については、読み続けてください。
既にお気づきのように、ライブラリタイプ(.dll)プロジェクトにさまざまな設定ファイルを使用するためのデフォルトの簡単な方法はありません。その理由は、現在の考え方は「あなたがする必要はない」ということです!フレームワーク開発者は、コンソール、デスクトップ、Web、モバイルアプリなど、実行可能ファイルの構成が必要だと考えています。DLLの構成を提供し始めると、構成の地獄と呼べるような結果になる可能性があります。なぜこれとその変数がどこからともなく一見奇妙な値を持っている理由が(簡単に)理解できなくなっているかもしれません。
「保留」-「統合/単体テストにはこれが必要ですが、、ライブラリです!」。そしてそれは真実であり、これはあなたができることです(1つだけ選んで、混ぜないでください):
1. SlowCheetah-現在の設定ファイルを変換します
SlowCheetah-すべての低レベルのXMLポーキング(または変換)を行うVisual Studioプラグインをインストールできます。それが機能する方法、簡単に:
- SlowCheetahをインストールしてVisual Studioを再起動します(Visual Studio> Tools> Extensions and Updates ...> Online> Visual Studio Gallery> search for "Slow Cheetah")
- ソリューション構成を定義します(デフォルトではデバッグとリリースがあります)、さらに追加できます(ソリューションエクスプローラーでソリューションを右クリック> 構成マネージャー... > アクティブソリューション構成 >新規...
- 必要に応じて設定ファイルを追加します
- 構成ファイルを右クリック> 変換を追加
- これにより、変換ファイルが作成されます-構成ごとに1つ
- 変換ファイルはインジェクター/ミューテーターとして機能し、必要なXMLコードを元の構成ファイルで見つけ、新しい行を挿入したり、必要な値を変更したりします。
2. .projファイルをいじる-まったく新しい設定ファイルをコピーして名前を変更する
もともとここから撮影。これは、Visual Studioの.projファイルに埋め込むことができるカスタムMSBuildタスクです。次のコードをコピーしてプロジェクトファイルに貼り付けます。
<Target Name="AfterBuild">
<Delete Files="$(TargetDir)$(TargetFileName).config" />
<Copy SourceFiles="$(ProjectDir)\Config\App.$(Configuration).config"
DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
次に、呼び出されたプロジェクトにフォルダーを作成し、Config
そこに新しいファイルを追加します:App.Debug.config、App.Release.configなど。これで、構成に応じて、Visual StudioはConfig
フォルダーから構成ファイルを選択し、それを出力ディレクトリにコピーして名前を変更します。したがって、PatternPA.Test.Integrationプロジェクトとデバッグ構成を選択した場合、ビルド後の出力フォルダーには、コピー元であり、後で名前が変更されたPatternPA.Test.Integration.dll.configファイルがありますConfig\App.Debug.config
。
これらは、設定ファイルに残すことができるいくつかのメモです
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- This file is copied and renamed by the 'AfterBuild' MSBuild task -->
<!-- Depending on the configuration the content of projectName.dll.config
is fully substituted by the correspondent to build configuration file
from the 'Config' directory. -->
</configuration>
Visual Studioでは、このようなものを持つことができます
3. Visual Studio外でスクリプトファイルを使用する
各ビルドツール(NAnt、MSBuildなど)は、構成に応じて構成ファイルを変換する機能を提供します。これは、ビルドマシンでソリューションをビルドする場合に役立ちます。ビルドマシンで、リリースのために製品を準備する方法と方法をより詳細に制御する必要があります。
たとえば、WebパブリッシングDLLのタスクを使用して、構成ファイルを変換できます
<UsingTask AssemblyFile="..\tools\build\Microsoft.Web.Publishing.Tasks.dll"
TaskName="TransformXml"/>
<PropertyGroup>
<!-- Path to input config file -->
<TransformInputFile>path to app.config</TransformInputFile>
<!-- Path to the transformation file -->
<TransformFile>path to app.$(Configuration).config</TransformFile>
<!-- Path to outptu web config file -->
<TransformOutputFile>path to output project.dll.config</TransformOutputFile>
</PropertyGroup>
<Target Name="transform">
<TransformXml Source="$(TransformInputFile)"
Transform="$(TransformFile)"
Destination="$(TransformOutputFile)" />
</Target>