0

VSでのビルドプロセスについて質問がありました。3つの.csファイルを含むDLLプロジェクトがあります。コンパイルプロセスに含めるファイルを定義できるようにしたいと思います。したがって、file1.csでのみdllファイルを作成できます。またはfile2.cs。またはfile1.csとfile3.cs。

今のところ、私が知っている唯一の方法は、必要な数のprojファイルを作成し、作成するファイルを手動で選択することです。

他に方法があるかどうか知りたいのですが、ビルド前のイベントで、含まれているファイルを再定義できるかどうかを確認できます。多分いくつかのアドインが存在しますか?

ありがとう。

4

2 に答える 2

4

アイテムグループに条件を設定することにより、条件付きでファイルをプロジェクトファイルに含めることができます。テキストエディタでcsprojを開きます。

<ItemGroup>
    <Compile Include="Program.cs" Condition="$(BuildtypeA)!='True'" />
    <Compile Include="Program1.cs" Condition="$(BuildtypeA)!='True'" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>

好きな条件を使用してください-この場合はBuildtypeAです。これをコマンドラインのプロパティとしてmsbuildに渡すことができます。(または私のcreateing.modifyingビルド構成)

特定のフォルダでワイルドカードを使用することもでき、特定の場所にあるものはすべてプロジェクトファイルに含まれます。

<ItemGroup>
    <Compile Include="..\dynamiccontent\*.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>

アドインは必要ありません。

于 2013-02-24T08:06:51.610 に答える
0

3つのファイルすべてを使用してプロジェクトを常にコンパイルできない理由は正確にはわかりませんが、本当にこのようなことを行う必要がある場合は、MSBuild拡張機能を確認できます。これらは、Xmlドキュメント(csprojファイルとは何か)を操作する機能をサポートしており、必要に応じてファイルへの参照を動的に追加/削除できます。そのようなことをする例が必要な場合はお知らせください。

于 2013-02-23T15:30:17.053 に答える