2

私は、約 10 の異なるプロジェクトで構成されるかなり大きなソリューションを持っています。これまで、ソリューション全体をまとめてお客様に出荷してきましたが、ソフトウェアの機能を取り除いたバージョンの出荷を検討しています。

この目的のために、ソリューションからいくつかのプロジェクトを除外したいと思います。ソリューション構成マネージャーでプロジェクトがビルドされないようにできることは知っています。削除された構成が選択されている場合、マクロを使用してすべてのコード参照を無効にすることができます。残念ながら、これはプロジェクト参照を処理しません。選択した構成に応じて、これらの参照を条件付きにすることはできますか?

4

4 に答える 4

1

小さなスクリプトを使用してプロジェクト ファイルからプロジェクト参照を削除するのは非常に簡単なことです。これらの参照を追加する行を削除するだけです。プロジェクト ファイルの形式は非常に単純です。

それが最も簡単な解決策である可能性が高いと思います。

于 2009-04-21T15:27:02.227 に答える
0

あなたの最善の策は、必要な他のプロジェクトのみを参照する「簡素化された」ソリューション用に別のプロジェクトを作成することです。同じコードを参照してください。これらのプロジェクトをまとめるための別のソリューションを作成します。

それらはすべて、同じフォルダー構造に一緒に住むこともできます。

例えば:

  • MySolution/MySolution.sln
  • MySolution/MyStrippedDownSolution.sln
  • MySolution/MyProject1/MyProject1.csproj
  • MySolution/MyProject1/MyStrippedDownProject1.csproj
  • MySolution/MyProject1/MyClass1.cs
  • MySolution/MyProject2/MyProject2.csproj
  • MySolution/MyProject2/MyStrippedDownProject2.csproj
  • MySolution/MyProject2/MyClass2.cs
  • MySolution/MyProject2/MyProject3.csproj
  • MySolution/MyProject2/MyClass3.cs

    • MyProject1 と MyStrippedDownProject1 は MyClass1 を参照します
    • MyProject2 と MyStrippedDownProject2 は MyClass2 を参照します
    • MyProject3 と MyStrippedDownProject3 は MyClass3 を参照します
  • MySolution は、MyProject1 と MyProject2 と MyProject3 を参照します。

  • MyStrippedDownSolution は、MyStrippedDownProject1 と MyStrippedDownProject2 を参照します。
  • MyProject1 は MyProject2 と MyProject3 を参照します
  • MyStrippedDownProject1 は MyStrippedDownProject2 のみを参照し、MyProject3 は参照しません。
于 2009-04-21T15:25:36.163 に答える
0

http://bytes.com/topic/net/answers/444853-conditional-assembly-referenceには、同様の質問を解決するのに非常に役立つ情報がたくさんあります(ただし、プロジェクト参照よりもアセンブリ参照に関連しています)。MSBuild が ProjectReference からアセンブリ参照を取得すると、間のブリッジングに役立つ場合があります。

于 2009-11-26T14:56:26.753 に答える
0

これは、本番用のプロジェクトをビルドするときに行う必要があると思います。定義済みのコンパイラ ディレクティブをチェックするコンパイラ レベルの IF の間で、非表示にする必要があるすべてのコードを囲むだけです。オンの場合、IF と ENDIF の間のコードはコンパイルされません。これは、コード ファイルに対してのみ機能します。

Jon Skeetが述べたように、持ち出す必要がある他のものについては、ファイル形式に応じて独自の方法を作成してください. しかし、それをビルドスクリプトに入れたら、もう気にする必要はありません-構成の切り替えなどはありません.

于 2009-04-21T15:37:47.023 に答える