Share via


MSBuild プロジェクトの共通プロパティ

次の表は、Visual Studio プロジェクト ファイルで定義される、または MSBuild に用意されているターゲット ファイルに含まれている、使用頻度の高いプロパティを示しています。

Visual Studio のプロジェクト ファイル (.csproj、vbproj、vcxproj など) には、IDE を使用してプロジェクトをビルドするときに実行される MSBuild XML コードが含まれています。 通常、プロジェクトでは、ビルド プロセスを定義するために、1 つ以上の .targets ファイルをインポートします。 詳細については、「MSBuild .Targets ファイル」を参照してください。

共通のプロパティおよびパラメーター一覧

プロパティ名またはパラメーター名

説明

AdditionalLibPaths

コンパイラが参照アセンブリを検索する追加のフォルダーを指定します。

AddModules

指定ファイル内のすべての型情報をコンパイル対象のプロジェクトで使用できるようにします。 このプロパティは、/addModules コンパイラ スイッチに相当します。

ALToolPath

AL.exe の保存先のパスです。 このプロパティによって、AL.exe の現在のバージョンをオーバーライドし、別のバージョンを使用できます。

ApplicationIcon

Win32 アイコンとして埋め込むためにコンパイラに渡す .ico アイコン ファイルです。 このプロパティは、/win32icon コンパイラ スイッチに相当します。

ApplicationManifest

外部のユーザー アカウント制御 (UAC: User Account Control) マニフェスト情報を生成するのに使用するファイルのパスを指定します。 Windows Vista を対象とする Visual Studio プロジェクトにのみ適用されます。

ほとんどの場合、マニフェストは埋め込まれます。 ただし、登録を必要としない COM 配置または ClickOnce 配置を使用する場合は、アプリケーション アセンブリと共にインストールされる外部ファイルをマニフェストとして使用できます。 詳細については、このトピックの NoWin32Manifest プロパティを参照してください。

AssemblyOriginatorKeyFile

アセンブリ (.snk または .pfx) に署名するために使用されるファイルを指定します。またこのファイルは、ResolveKeySource タスク に渡され、アセンブリの署名に使用される実際のキーが生成されます。

AssemblySearchPaths

ビルド時に参照アセンブリを解決するときに検索する場所のリストです。 このリストでは、先頭から順に優先度が低くなるため、パスを指定する順序が意味を持ちます。

AssemblyName

プロジェクトのビルド後に生成される最終的な出力アセンブリの名前です。

BaseAddress

メイン出力アセンブリのベース アドレスを指定します。‎ このプロパティは、/baseaddress コンパイラ スイッチに相当します。

BaseOutputPath

出力ファイルのベース パスを指定します。 設定されている場合、MSBuild は OutputPath = $(BaseOutputPath)\$(Configuration)\ を使用します。 構文例: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>

BaseIntermediateOutputPath

すべての構成固有の中間出力ファイルが作成されるトップレベル フォルダーです。 既定値は obj\ です。 次にコード例を示します。<BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>

BuildInParallel

Multi-Proc MSBuild の使用時に複数のプロジェクト参照を同時にビルドまたはクリーンするかどうかを示すブール値です。 既定値は true です。システムに複数のコアまたはプロセッサがある場合に既定値を使用すると、複数のプロジェクトが同時にビルドされます。

BuildProjectReferences

MSBuild によってプロジェクト参照をビルドするかどうかを示すブール値です。 プロジェクトを Visual Studio 統合開発環境 (IDE: Integrated Development Environment) でビルドする場合は false、それ以外の場合は true を指定します。

CleanFile

"クリーン キャッシュ" として使用されるファイルの名前です。クリーン キャッシュとは、クリーン操作の実行中に削除される対象の生成されたファイルのリストです。 このファイルは、ビルド プロセスによって中間出力パスに追加されます。

このプロパティでは、パス情報を含まないファイル名だけを指定します。

CodePage

コンパイルですべてのソース コード ファイルに使用するコード ページを指定します。 このプロパティは、/codepage コンパイラ スイッチに相当します。

CompilerResponseFile

コンパイラ タスクに渡すことができる応答ファイルです (省略可能)。

構成

ビルドする構成です。"Debug" と "Release" のいずれかを指定します。

CscToolPath

Visual C# コンパイラ csc.exe のパスです。

CustomBeforeMicrosoftCommonTargets

共通ターゲットのインポートの前に自動的にインポートされるプロジェクト ファイルまたは targets ファイルの名前です。

DebugSymbols

ビルド時にシンボルを生成するかどうかを示すブール値です。

コマンド ラインで /p:DebugSymbols=false と設定すると、プログラム データベース (.pdb) シンボル ファイルの生成が無効になります。

DefineConstants

条件付きコンパイル定数を定義します。 次の構文に従い、シンボルと値のペアをセミコロン (;) で区切って指定します。

symbol1 = value1 ; symbol2 = value2

このプロパティは、/define コンパイラ スイッチに相当します。

DefineDebug

定数 DEBUG を定義するかどうかを示すブール値です。

DefineTrace

定数 TRACE を定義するかどうかを示すブール値です。

DebugType

生成するデバッグ情報のレベルを定義します。 有効な値は "full"、"pdbonly"、および "none" です。

DelaySign

アセンブリに完全署名ではなく遅延署名するかどうかを示すブール値です。

DisabledWarnings

指定された警告の出力を抑制します。 警告 ID の数値だけを指定してください。 複数の警告を指定するときは、セミコロン (;) で区切ります。 このパラメーターは、vbc.exe コンパイラの /nowarn スイッチに相当します。

DisableFastUpToDateCheck

Visual Studio のみに適用されるブール値です。 Visual Studio ビルド マネージャーは、FastUpToDateCheck と呼ばれるプロセスを使用して、プロジェクトをリビルドして最新の状態にする必要があるかどうかを判断します。 この判断を行う機能としては、MSBuild より、このプロセスの方が高速です。 DisableFastUpToDateCheck プロパティを true に設定すると、Visual Studio ビルド マネージャーに対して、プロジェクトを最新の状態にする必要があるかどうかを判断するために MSBuild を使用するように強制できます。

DocumentationFile

XML ドキュメント ファイルとして生成されるファイルの名前です。 この名前はファイル名のみを示し、パス情報は含んでいません。

ErrorReport

コンパイラ タスクで内部コンパイル エラーを報告するかどうかを指定します。 有効な値は "prompt"、"send"、または "none" です。このプロパティは、/errorreport コンパイラ スイッチに相当します。

ExcludeDeploymentUrl

プロジェクト ファイルに次の要素が含まれている場合、GenerateDeploymentManifest タスク は、deploymentProvider タグを配置マニフェストに追加します。

  • UpdateUrl

  • InstallUrl

  • PublishUrl

ただし、ExcludeDeploymentUrl を使用すると、上記の URL が指定されている場合でも、配置マニフェストに deploymentProvider タグが追加されないようにすることができます。これを行うには、次のプロパティをプロジェクト ファイルに追加します。

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

注意

ExcludeDeploymentUrl は、Visual Studio IDE では公開されず、プロジェクト ファイルを手動で編集することによってのみ、設定することができます。このプロパティを設定しても Visual Studio 内での発行には影響しません。つまり、deploymentProvider タグは PublishUrl で指定された URL に追加されます。

FileAlignment

出力ファイルでセクションをアラインするサイズをバイト単位で指定します。 有効値は 512、1024、2048、4096、および 8192 です。 このプロパティは、/filealignment コンパイラ スイッチに相当します。

FrameworkPathOverride

mscorlib.dll および microsoft.visualbasic.dll の位置を指定します。 このパラメーターは、vbc.exe コンパイラの /sdkpath スイッチに相当します。

GenerateDocumentation

ビルドによってドキュメントを生成するかどうかを示すブール値パラメーターです。 true に設定すると、ビルドによってドキュメント情報が生成され、ビルド タスクが作成した実行可能ファイルまたはライブラリの名前と共に .xml ファイルに格納されます。

IntermediateOutputPath

中間出力ファイルの完全パスであり、パスが指定されていない場合に BaseIntermediateOutputPath を基に生成されます。 たとえば、\obj\debug\ のようなパスが生成されます。 このプロパティがオーバーライドされた場合、BaseIntermediateOutputPath は無効になります。

KeyContainerName

厳密名キーのコンテナー名です。

KeyOriginatorFile

厳密名キー ファイルの名前です。

NoWin32Manifest

コンパイル時に既定の Win32 マニフェストを生成して出力ファイルに含めるかどうかを決定します。 既定値の false では、すべてのアプリケーションに対して既定の Win32 マニフェストが生成されます。 このプロパティは、vbc.exe コンパイラの /nowin32manifest スイッチに相当します。

ModuleAssemblyName

コンパイル済みモジュールを組み込むアセンブリの名前です。 このプロパティは、/moduleassemblyname コンパイラ スイッチに相当します。

NoLogo

コンパイラ ロゴをオフにするかどうかを示すブール値です。 このプロパティは、/nologo コンパイラ スイッチに相当します。

NoStdLib

標準ライブラリ (mscorlib.dll) の参照を回避するかどうかを示すブール値です。 既定値は false です。

NoVBRuntimeReference

Visual Basic ランタイム (Microsoft.VisualBasic.dll) を参照としてプロジェクトに含めるかどうかを示すブール値です。

NoWin32Manifest

ユーザー アカウント制御 (UAC) マニフェスト情報をアプリケーションの実行可能ファイルに埋め込むかどうかを示すブール値です。 Windows Vista を対象とする Visual Studio プロジェクトにのみ適用されます。 ClickOnce および登録を必要としない COM を使用して配置されたプロジェクトでは、この要素は無視されます。False (既定値) は、ユーザー アカウント制御 (UAC) マニフェスト情報をアプリケーションの実行可能ファイルに埋め込むことを指定します。 Trueを指定すると、UAC マニフェスト情報は埋め込まれません。

このプロパティは、Visual Studio を対象とする Windows Vista プロジェクトにのみ適用されます。 ClickOnce および登録を必要としない COM を使用して配置されたプロジェクトでは、このプロパティは無視されます。

Visual Studio でマニフェスト情報をアプリケーションの実行可能ファイルに埋め込まない場合に限り、NoWin32Manifest を追加してください。このプロセスは仮想化と呼ばれます。 仮想化を使用するには、次のように <ApplicationManifest> と共に <NoWin32Manifest> を設定します。

  • Visual Basic プロジェクトの場合は、<ApplicationManifest> ノードを削除します (Visual Basic プロジェクトでは、<NoWin32Manifest> ノードが存在すると、<ApplicationManifest> は無視されます)。

  • Visual C# プロジェクトの場合は、<ApplicationManifest> を False に設定し、<NoWin32Manifest> を True に設定します (Visual C# プロジェクトでは、<ApplicationManifest><NoWin32Manifest> によりオーバーライドされます)。

Optimize

true に設定された場合にコンパイラの最適化を有効にするブール値です。 このプロパティは、/optimize コンパイラ スイッチに相当します。

OptionCompare

文字列比較の方法を指定します。 有効な値は "binary" または "text" です。このプロパティは、vbc.exe コンパイラの /optioncompare スイッチに相当します。

OptionExplicit

true に設定された場合にソース コードで変数が明示的に宣言されていることを要求するブール値です。 このプロパティは、/optionexplicit コンパイラ スイッチに相当します。

OptionInfer

true に設定された場合に変数の型の推論を可能にするブール値です。 このプロパティは、/optioninfer コンパイラ スイッチに相当します。

OptionStrict

true に設定された場合にビルド タスクで厳密な型のセマンティクスを適用して暗黙の型変換を制限するブール値です。 このプロパティは、vbc.exe コンパイラの /optionstrict スイッチに相当します。

OutputPath

出力ディレクトリへのパスを、"bin\Debug" のようにプロジェクト ディレクトリを基準とする相対パスで指定します。

OutputType

出力ファイルのファイル形式を指定します。 このパラメーターには、次のいずれかの値を指定できます。

  • Library。 コード ライブラリを作成します。 これは既定値です。

  • Exe。 コンソール アプリケーションを作成します。

  • Module。 モジュールを作成します。

  • Winexe。 Windows ベースのプログラムを作成します。

このプロパティは、vbc.exe コンパイラの /target スイッチに相当します。

OverwriteReadOnlyFiles

ビルドにおいて読み取り専用ファイルを上書きするかエラーを発生させるかを示すブール値です。

PdbFile

出力する .pdb ファイルの名前です。 このプロパティは、csc.exe コンパイラの /pdb スイッチに相当します。

プラットフォーム

ビルドの対象とするオペレーティング システムです。 有効な値は "Any CPU"、"x86"、および "x64" です。

RemoveIntegerChecks

整数オーバーフロー エラー チェックを無効にするかどうかを示すブール値です。 既定値は false です。 このプロパティは、vbc.exe コンパイラの /removeintchecks スイッチに相当します。

SGenUseProxyTypes

SGen.exe によってプロキシ型を生成するかどうかを示すブール値です。

SGen ターゲットは、このプロパティを使用して UseProxyTypes フラグを設定します。 このプロパティの既定値は true で、これを変更するための UI はありません。 webservice 以外の型のシリアル化アセンブリを生成するには、Microsoft.Common.Targets または C#/VB.targets をインポートする前に、このプロパティをプロジェクト ファイルに追加し、その値を false に設定します。

SGenToolPath

SGen.exe の現在のバージョンがオーバーライドされた場合に SGen.exe を取得する場所を示すツール パスです (省略可能)。

StartupObject

Main メソッドまたは Sub Main プロシージャを含むクラスまたはモジュールを指定します。 このプロパティは、/main コンパイラ スイッチに相当します。

ProcessorArchitecture

アセンブリ参照を解決するときに使用されるプロセッサ アーキテクチャです。 有効な値は "msil"、"x86"、"amd64"、または "ia64" です。

RootNamespace

埋め込みリソースに名前を付けるときに使用するルート名前空間です。 この名前空間が埋め込みリソース マニフェスト名の一部になります。

Satellite_AlgorithmId

サテライト アセンブリの作成時に使用する AL.exe ハッシュ アルゴリズムの ID です。

Satellite_BaseAddress

CreateSatelliteAssemblies ターゲットを使用してカルチャ固有のサテライト アセンブリをビルドするときに使用するベース アドレスです。

Satellite_CompanyName

サテライト アセンブリの生成時に AL.exe に渡す会社名です。

Satellite_Configuration

サテライト アセンブリの生成時に AL.exe に渡す構成名です。

Satellite_Description

サテライト アセンブリの生成時に AL.exe に渡す説明テキストです。

Satellite_EvidenceFile

指定されたファイルをリソース名が "Security.Evidence" であるサテライト アセンブリに埋め込みます。

Satellite_FileVersion

サテライト アセンブリの File Version フィールドに挿入する文字列を指定します。

Satellite_Flags

サテライト アセンブリの Flags フィールドに挿入する値を指定します。

Satellite_GenerateFullPaths

ビルド タスクがエラー メッセージで報告されるすべてのファイルについて絶対パスを使用します。

Satellite_LinkResource

指定されたリソース ファイルをサテライト アセンブリにリンクします。

Satellite_MainEntryPoint

サテライト アセンブリの生成においてモジュールを実行可能ファイルに変換するときにエントリ ポイントとして使用されるメソッドの完全修飾名 (class.method) を指定します。

Satellite_ProductName

サテライト アセンブリの Product フィールドに挿入する文字列を指定します。

Satellite_ProductVersion

サテライト アセンブリの ProductVersion フィールドに挿入する文字列を指定します。

Satellite_TargetType

サテライト アセンブリの出力ファイルの形式として、"library"、"exe"、"win" のいずれかを指定します。既定値は "library" です。

Satellite_Title

サテライト アセンブリの Title フィールドに挿入する文字列を指定します。

Satellite_Trademark

サテライト アセンブリの Trademark フィールドに挿入する文字列を指定します。

Satellite_Version

サテライト アセンブリのバージョン情報を指定します。

Satellite_Win32Icon

サテライト アセンブリに .ico アイコン ファイルを挿入します。

Satellite_Win32Resource

サテライト アセンブリに Win32 リソース (.res ファイル) を挿入します。

SubsystemVersion

生成された実行可能ファイルが使用できるサブシステムの最低限のバージョンを指定します。 このプロパティは、/subsystemversion コンパイラ スイッチに相当します。 このプロパティの既定値については、「/subsystemversion (Visual Basic)」または「/subsystemversion (C# コンパイラ オプション)」を参照してください。

TargetCompactFramework

ビルドするアプリケーションの実行に必要な .NET Compact Framework のバージョンです。 このプロパティを指定すると、通常は参照できない .NET Framework アセンブリを参照できます。

TargetFrameworkVersion

ビルドするアプリケーションの実行に必要な .NET Framework のバージョンです。 このプロパティを指定すると、通常は参照できない .NET Framework アセンブリを参照できます。

TreatWarningsAsErrors

ブール値パラメーターであり、true に設定すると、すべての警告がエラーとして扱われます。 このパラメーターは、/nowarn コンパイラ スイッチに相当します。

UseHostCompilerIfAvailable

ブール値パラメーターであり、true に設定すると、ビルド タスクはインプロセス コンパイラを使用します (インプロセス コンパイラが用意されている場合)。 このパラメーターは Visual Studio でのみ使用されます。

Utf8Output

ブール値パラメーターであり、true に設定すると、コンパイラ出力が UTF-8 エンコーディングでログに記録されます。 このパラメーターは、/utf8Output コンパイラ スイッチに相当します。

VbcToolPath

vbc.exe の現在のバージョンがオーバーライドされた場合に vbc.exe の別の場所を示すパスです (省略可能)。

VbcVerbosity

Visual Basic コンパイラ出力の詳細度を指定します。 有効な値は "Quiet"、"Normal" (既定値)、または "Verbose" です。

VisualStudioVersion

このプロジェクトが実行されている Visual Studio のバージョンを指定します。 このプロパティが指定されていない場合、MSBuild によって適切な既定値に設定されます。

このプロパティは複数の種類のプロジェクトで使用され、ビルドで利用されるターゲットのセットが指定されます。 ToolsVersion がプロジェクトに対して 4.0 以上に設定されている場合、VisualStudioVersion によって、使用するサブツールセットが指定されます。 詳細については、「MSBuild ツールセット (ToolsVersion)」を参照してください。

WarningsAsErrors

エラーとして扱う警告の一覧を指定します。 このパラメーターは、/warnaserror コンパイラ スイッチに相当します。

WarningsNotAsErrors

エラーとして扱わない警告の一覧を指定します。 このパラメーターは、/warnaserror コンパイラ スイッチに相当します。

Win32Manifest

最終的なアセンブリに埋め込むマニフェスト ファイルの名前です。 このパラメーターは、/win32Manifest コンパイラ スイッチに相当します。

Win32Resource

最終的なアセンブリに埋め込む Win32 リソースのファイル名です。 このパラメーターは、/win32resource コンパイラ スイッチに相当します。

参照

関連項目

MSBuild プロジェクトの共通項目