2012-03-19 75 views
21

excluding a file from the referenced output of an assemblyではなく、1つを追加します。参照されているプロジェクトの.configファイルを含む

2番目のクラスライブラリプロジェクト(ClassLibrary1)を参照するコンソールアプリケーションプロジェクト(BuildTest1)があります。私はApp.configファイルを持つクラスライブラリプロジェクトを持っている

Solution layout

:Visual Studioのソリューションは、次のようになります。私はこの.configファイルを.dllと.pdbファイルのように、参照プロジェクトの出力にコピーします。クラスライブラリの設定ファイルは、クラスライブラリの出力ディレクトリに 'ClassLibrary1.dll.config'としてコピーされます

これを.exeプロジェクトの.csprojファイルに追加しようとしましたが、何も作成されていないようです違い:

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .config 
    </AllowedReferenceRelatedFileExtensions> 
    </PropertyGroup> 

答えて

36

私はMicrosoft.Common.targetsにResolveAssemblyReferencesターゲットから呼び出されたのMSBuildタスクResolveAssemblyReferenceにこれを突き止め...とても近かったです。これは、ReferenceCopyLocalPathsアイテムを移入するものです。フォローのための

<PropertyGroup> 
    <AllowedReferenceRelatedFileExtensions> 
     .pdb; 
     .xml; 
     .dll.config 
    </AllowedReferenceRelatedFileExtensions> 
</PropertyGroup> 
+3

ありがとう:

は、だから私は、ファイルの拡張子.dll.configは(というだけを.configより)トリックをしたことを発見し、それが一致したファイルのパターンを見ています。他の人が設定ファイルを必要としていることを知っているので、ライブラリプロジェクトから別の方法で設定することはできません。 "あなたは私の設定ファイルが欲しい、私を信用する" –

+1

私のために働いた...ありがとう! – Krunal

+1

ああ、これはとても素晴らしいです。ありがとうございました! –

関連する問題