0

簡単なシナリオがあります。ビルド構成が標準構成とは非常に異なる名前を持つコードを継承しました。

特に、「プロダクション」構成は、リリース構成に似ています。

だから私はいくつかの質問があると思います:

  1. 何かを「リリース」構成にするために、再確認できるように、何をオンまたはオフにする必要がありますか? コードの最適化、デバッグ シンボルなど。
  2. コードの最適化などがオンになっている場合、JIT またはコンパイラ レベルでハードコードされている可能性のある、ストック リリース構成との違いはありますか?
  3. 項目 1 の内容と、標準のリリース構成で見られるもの以外に、構成レベルで、パフォーマンスに顕著な影響を与える有効/無効にする必要があるものは他にありますか?
4

1 に答える 1

1

1 と 2 - リリースとデバッグの間には非常に小さな違いがあります。最適化がオンになっており ( Eric Lippert の意味を参照してください)、リリース ビルド用に定義された DEBUG はありません。

2 つの構成の違いを理解する最も簡単な方法は、基本的なプロジェクトを作成し、デバッグとリリースの構成セクションを比較することです。

デバッグ: Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "

<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>

リリース:Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "

<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>

デバッグ情報の種類にも違いがありますが、主にデバッグの利便性に影響します。

3 - パフォーマンスを向上させるために、すべてのタイプのソリューションに共通するものは他にありません。各タイプのソリューションには、パフォーマンスを微調整する方法があります - 正しいログ構成、関連ファイルを ASPX でコンパイルするオプション、NGen から pre-JIT へ、x86/x64 の選択...微調整/最適化。

于 2013-04-02T05:24:42.150 に答える