[詳細] プロパティ ページ

[詳細] プロパティ ページは、Visual Studio 2019 以降で使用できます。 そのバージョンのドキュメントを表示するには、この記事の Visual Studio の [バージョン] セレクター コントロールを Visual Studio 2019 以降に設定してください。 このページの目次の一番上にあります。 以前のバージョンの Visual Studio では、これらのプロパティは [全般] プロパティ ページに表示されます。

[詳細] プロパティ ページは、Visual Studio 2019 以降で使用できます。 表示される具体的なプロパティは、プロジェクトの種類によって異なります。 Windows ランタイム (ユニバーサル Windows プラットフォーム、または UWP) プロジェクトでは、このページは表示されません。

高度なプロパティ

[ターゲット ファイルの拡張子]

ビルド出力に使用するファイル拡張子を指定します。 既定値は、アプリケーションの場合は .exe、スタティック ライブラリの場合は .lib、DLL の場合は .dll です。

消去時に削除する拡張子

[ビルド]>[消去] メニュー コマンドを選択すると、プロジェクトの構成がビルドされる中間ディレクトリからファイルが削除されます。 [消去] コマンドを実行するか、リビルドを行うと、ビルド システムによって指定した拡張子を持つファイルが削除されます。 ビルド システムでは、配置場所に関係なく、ビルドの既知の出力も削除されます。 削除されるファイルには、.obj ファイルなどのあらゆる中間出力も含まれます。 拡張子を区切るには、セミコロン (;) を使用してください。 拡張子ではワイルドカード文字 (*?) を指定できます。

プログラムを使用してこのプロパティにアクセスする方法については、「DeleteExtensionsOnClean」を参照してください。

ビルド ログ ファイル

プロジェクトをビルドしたときに作成されるログ ファイルの、既定以外の場所を指定できます。 既定の場所はマクロ $(IntDir)$(MSBuildProjectName).log によって指定されます。

プロジェクト マクロを使用して、ディレクトリの場所を変更できます。 詳細については、ビルドのコマンドとプロパティの共通マクロに関する記事を参照してください。

優先するビルド ツール アーキテクチャ

x86 と x64 のビルド ツールのどちらを使うかを指定します。

デバッグ ライブラリの使用

デバッグ ビルドとリリース ビルドのどちらを作成するかを指定します。 名前にもかかわらず、デバッグ ライブラリの使用は、"デバッグ ビルドの作成" または "リリース ビルドの作成" の略式であるビルド システム固有のプロパティです。 ライブラリの設定を含め、デバッグ ビルドまたはリリース ビルドのコンパイラとリンカーのプロパティをいくつか設定します。 これを使用して、新しいプラットフォームまたは新しいテンプレートのデバッグ構成またはリリース構成を作成できます。 既存の構成でこのプロパティを変更することはお勧めしません。 代わりに、個々のコンパイラプロパティとリンカープロパティを使用してください。

Unity (JUMBO) ビルドを有効にする

コンパイル前に多数の C++ ソース ファイルを 1 つ以上のファイルに結合する、より高速なビルド処理を可能にします。 これらの結合されたファイルは、unity ファイルと呼ばれます。 Unity ゲーム エンジンとは無関係です。

OutDir へのコンテンツのコピー

プロジェクトで content としてマークされている項目を、プロジェクトの出力ディレクトリ ($(OutDir)) にコピーします。 この設定により、配置が簡単になります。 このプロパティは、Visual Studio 2019 バージョン 16.7 以降で使用できます。

OutDir へのプロジェクト参照のコピー

実行可能ファイル (DLL および EXE ファイル) のプロジェクト参照項目を、プロジェクトの出力ディレクトリ ($(OutDir)) にコピーします。 C++/CLI (/clr) プロジェクトでは、このプロパティは無視されます。 代わりに、各プロジェクト参照の [ローカルにコピー] プロパティによって、出力ディレクトリにコピーするかどうかが制御されます。 この設定により、ローカル配置が簡単になります。 Visual Studio 2019 バージョン 16.7 以降で使用できます。

OutDir へのプロジェクト参照のシンボルのコピー

プロジェクト参照項目の PDB ファイルを、プロジェクト参照の実行可能項目と共に、プロジェクトの出力ディレクトリ ($(OutDir)) にコピーします。 このプロパティは、C++/CLI プロジェクトに対して常に有効になります。 この設定により、デバッグ配置が簡単になります。 Visual Studio 2019 バージョン 16.7 以降で使用できます。

OutDir への C++ ランタイムのコピー

ランタイム DLL をプロジェクトの出力ディレクトリ ($(OutDir)) にコピーします。 この設定により、ローカル配置が簡単になります。 Visual Studio 2019 バージョン 16.7 以降で使用できます。

MFC の使用法

MFC プロジェクトが MFC DLL に静的にリンクするか動的にリンクするかを指定します。 MFC 以外のプロジェクトでは、[標準 Windows ライブラリを使用する] を選択します。

プログラムを使用してこのプロパティにアクセスする方法については、「useOfMfc」を参照してください。

文字セット

_UNICODE または _MBCS プリプロセッサ マクロを設定するかどうかを指定します。 該当する場合は、リンカーのエントリ ポイントにも影響します。

プログラムを使用してこのプロパティにアクセスする方法については、「CharacterSet」を参照してください。

プログラム全体の最適化

/GL コンパイラ オプションと /LTCG リンカー オプションを指定します。 既定では、このプロパティはデバッグ構成に対しては無効、リリース構成に対しては有効になります。

MSVC ツールセット バージョン

プロジェクトのビルドに使う MSVC ツールセットの完全なバージョンを指定します。 さまざまな更新プログラムやプレビュー版のツールセットがインストールされている場合があります。 ここでは、そのどれを使用するかを指定できます。

LLVM ツールセット バージョン

プロジェクトのビルドに使う LLVM ツールセットの完全なバージョンを指定します。 このプロパティは、Visual Studio 2019 バージョン 16.9 以降で、LLVM (clang-cl) がプラットフォーム ツールセットとして選択されている場合に使用できます。 詳細については、「カスタム LLVM ツールセットのバージョンを設定する」を参照してください。

MSVC 構造化出力を有効にする

構造化された SARIF 出力を有効にするかどうかを指定します。これにより、Visual Studio の [出力] ウィンドウで [問題の詳細] ウィンドウと階層出力が有効になります。

C++/CLI プロパティ

共通言語ランタイム サポート

/clr コンパイラ オプションが使用されます。

プログラムを使用してこのプロパティにアクセスする方法については、「ManagedExtensions」を参照してください。

.NET Framework 対象バージョン

このプロパティは、共通言語ランタイム のサポート プロパティが .NET Framework ランタイム サポート設定されている場合にのみ適用されます。つまり、プロジェクトは .NET Framework を対象とし、.NET Framework のバージョンを指定します。

.NET ターゲット フレームワーク

このプロパティは、共通言語ランタイムサポート プロパティが .NET ランタイム サポートに設定されている場合にのみ適用されます。これは、プロジェクトが .NET を対象としています

このプロパティは、このプロジェクトが対象とする .NET 5+ ターゲット フレームワーク モニカーを指定しますnet7.0-windows8.0。たとえばnet6.0-windows

マネージド インクリメンタル ビルドを有効にする

マネージド プロジェクトの場合、このオプションによって、アセンブリの生成時に、外部からの可視性の検出が可能になります。 マネージド プロジェクトへの変更が他のプロジェクトから見えない場合、依存プロジェクトはリビルドされません。 マネージド インクリメンタル ビルドにより、マネージド プロジェクトを含むソリューションのビルド時間を大幅に短縮できます。

個々のファイルに対する CLR サポートを有効にする

このオプションでは、プロジェクト内の一部のファイルのみをマネージド コードとしてビルドできるようにする ManagedAssembly ビルド プロパティを設定します。 全部ではなく一部のプロジェクト ファイルをマネージド コードとしてビルドする場合は、[個々のファイルに対する CLR サポートを有効にする][はい] に設定する必要があります。 このプロパティは、Visual Studio 2022 以降のバージョンで v143 以降のツールセットを使用するプロジェクトでのみ使用できます。

.NET ターゲット Windows のバージョン

このプロパティは、共通言語ランタイムサポート プロパティが .NET ランタイム サポートに設定されている場合にのみ適用されます。これは、プロジェクトが .NET を対象としています

このプロパティは、プロジェクトがサポートする Windows の最小バージョンを指定します。 この値は、プロジェクトと NuGet パッケージの依存関係の互換性を判断するために NuGet によって使用されます。 プロジェクト A がプロジェクト B に依存している場合、プロジェクト A の .NET ターゲット Windows バージョンはプロジェクト B 以上である必要があります。