0

100 個のプロジェクト (主にクラス ライブラリ) を含む大きなソリューションがあります。リリース バージョンのビルド中に奇妙な動作を発見しました。リリース バージョンをビルドした後、bin/Release フォルダーにいくつかのライブラリのデバッグ バージョンを取得しました。多くのライブラリでは正しくリリース バージョンを取得しましたが、一部のライブラリではデバッグのみを取得しました (DateTime が異なり、Reflector に存在するデバッグ コード)。すべてのプロジェクト プロパティを確認しましたが、問題はなく、プロジェクト間に違いもありません。Visual Studio のこの動作を変更するにはどうすればよいですか?

更新: たとえば、私のソリューションは 3 つのプロジェクトで構成されます。

  • プロジェクト1
  • Project2 (参照 Project1)
  • Project3 (参照 Project2)

これをリリース モードでビルドすると、Project3\bin\Release ディレクトリに次のビルドが作成されます。

  • Project1 (デバッグ)
  • Project2 (リリース)
  • Project3 (リリース)

しかし!Project1\bin\Release に RELEASE ビルドがあります。

したがって、Project3 が Project1 を直接参照しない場合、MSBuild は Project1 のデバッグ バージョンをビルドに使用すると仮定します。直接参照されていないすべてのライブラリを参照する以外の解決策を提案できますか?

4

1 に答える 1

1

構成画面をチェックして、ソリューションの「リリース」構成が、多数のプロジェクトの「デバッグ」構成を構築するように構成されているかどうかを確認します。

このスクリーンショットでわかるように、両方のレベルで同じように構成する必要はありません。

ソリューションとプロジェクトの構成の不一致 参照: http://msdn.microsoft.com/en-us/library/vstudio/kkz9kefa.aspx

これらのプロパティはすべて確認済みだと思いますが、いくつかのオプションを見落としている可能性がありますか?

すべてのデバッグ関連のプロパティ

他のすべてが失敗した場合は、少なくともそれが機能することを確認するために、コマンドラインからクリーン ビルドまたはビルドを実行しようとしましたか?

于 2013-07-12T16:01:10.897 に答える