6

私は次のプロジェクト構造を持っています:

SLN
    libA
    libB (references libA)
    exeWPF (references libA and libB)

NAntを使用してlibAとlibBをcscでコンパイルしますが、cscをWPFプロジェクトで使用できず、XAMLターゲットをNAntでコンパイルできないため、NAntプロジェクト内でMSBuildタスクを使用します。

問題は、完全なビルドを起動すると、libAとlibBがすでにNAntによって作成されており、MSBuildタスクを起動すると、 csprojファイルがlibAプロジェクトとlibBプロジェクトを参照するため、ライブラリlibAとライブラリが再度libBコンパイルされることです。exeWPF

libA別の方法として、代わりに参照することもlibBできます。プロジェクトとして、exeWPFcsprojファイルのdllとして参照することもできます。問題は、この場合、コードを失い、参照に移動することです。

私にとっての解決策は、MSBuildタスクからMsBuildプロジェクトへの参照を指定できるようにすることです。

4

1 に答える 1

9

exeWPFこのようにプロジェクトを構築できます

msbuild exeWPF.csproj /p:BuildProjectReferences=false

プロパティBuildProjectReferencesは、MSBuildが参照を構築できないようにし、事前に作成されたアセンブリを使用して参照のメタデータを抽出することを強制され、参照されるアセンブリが存在しない場合は失敗します。

于 2013-02-12T16:17:54.090 に答える