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

MSBuild では、項目は 1 つ以上のファイルに対応する名前付きの参照です。 項目には、ファイル名、パス、バージョン番号などのメタデータが含まれます。 Visual Studio のすべてのプロジェクト タイプには、共通の項目がいくつかあります。 これらの項目は、Microsoft.Build.CommonTypes.xsd ファイルで定義されています。

この記事では、共通のプロジェクト項目をすべて一覧表示します。

関連項目

プロジェクト内のアセンブリ (マネージド) 参照を表します。

項目メタデータの名前 説明
HintPath 省略可能な文字列。 アセンブリの相対パスまたは絶対パスを指定します。
名前 省略可能な文字列。 アセンブリの表示名を指定します (たとえば、"System.Windows.Forms")。
FusionName 省略可能な文字列。 項目の簡易または厳密な fusion 名を指定します。

この属性が存在する場合、fusion 名を得るためにアセンブリ ファイルを開く必要がないため、時間を節約できます。
SpecificVersion 省略可能なブール値。 fusion 名の特定のバージョンを参照する必要があるかどうかを指定します。
Aliases 省略可能な文字列。 参照の任意のエイリアスです。
Private 省略可能なブール値。 参照を出力フォルダーにコピーする必要があるかどうかを指定します。 この属性は、Visual Studio IDE に存在する参照の [ローカルにコピー] プロパティに一致します。

COMReference

プロジェクト内の COM (アンマネージ) コンポーネント参照を表します。 この項目は .NET プロジェクトにのみ適用されます。

項目メタデータの名前 説明
名前 省略可能な文字列。 コンポーネントの表示名を指定します。
GUID 必須の文字列。 コンポーネントの GUID を {12345678-1234-1234-1234-1234567891234} の形式で指定します。
VersionMajor 必須の文字列。 コンポーネントのメジャー バージョン番号を指定します。 たとえば、完全なバージョン番号が "5.46" である場合、"5" を指定します。
VersionMinor 必須の文字列。 コンポーネントのマイナー バージョン番号を指定します。 たとえば、完全なバージョン番号が "5.46" である場合、"46" を指定します。
EmbedInteropTypes 省略可能なブール値。 true の場合は、相互運用 DLL を生成するのではなく、この参照から直接アセンブリに相互運用機能型を埋め込みます。
LCID 省略可能な文字列。 コンポーネントの LocaleID です。
WrapperTool 省略可能な文字列。 コンポーネントで使用されるラッパー ツールの名前を指定します。 値は次のとおりです。

1. primary
2. tlbimp
3. primaryortlbimp
4. aximp
Isolated 省略可能なブール値。 コンポーネントが Reg-Free コンポーネントであるかどうかを指定します。

COMFileReference

ResolveComReference ターゲットの TypeLibFiles パラメーターに渡されるタイプ ライブラリの一覧を表します。 この項目は .NET プロジェクトにのみ適用されます。

項目メタデータの名前 説明
WrapperTool 省略可能な文字列。 コンポーネントで使用されるラッパー ツールの名前を指定します。 値は次のとおりです。

1. primary
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

ネイティブ マニフェスト ファイル、またはこのようなファイルへの参照を表します。

項目メタデータの名前 説明
名前 必須の文字列。 マニフェスト ファイルの基本名を指定します。
HintPath 必須の文字列。 マニフェスト ファイルの相対パスを指定します。

ProjectReference

別のプロジェクトへの参照を表します。 ProjectReference 項目は ResolveProjectReferences ターゲットによって参照項目に変換されるため、参照の有効なメタデータは、変換処理で上書きされない場合、ProjectReferenceで有効になることがあります。

項目メタデータの名前 説明
名前 省略可能な文字列。 参照の表示名を指定します。
GlobalPropertiesToRemove string[] で、省略可能です。 参照プロジェクトのビルド時に削除するプロパティの名前。たとえば、RuntimeIdentifier;PackOnBuild。 既定値は空です。
Project 省略可能な文字列。 参照の GUID を {12345678-1234-1234-1234-1234567891234} の形式で指定します。
OutputItemType 省略可能な文字列。 ターゲット出力の出力先となる項目の種類。 既定値は空白です。 参照メタデータが "true" (既定値) に設定されている場合、ターゲット出力はコンパイラの参照になります。
ReferenceOutputAssembly 省略可能なブール値。 false を設定した場合、このプロジェクトの Reference として参照されたプロジェクトの出力は含まれませんが、このプロジェクトをビルドする前の他のプロジェクトのビルドは保証されます。 既定値は true です。
SetConfiguration 省略可能な文字列。 参照プロジェクトのグローバル プロパティ Configuration を設定します。たとえば、Configuration=Release です。
SetPlatform 省略可能な文字列。 参照プロジェクトのグローバル プロパティ Platform を設定します。たとえば、Platform=AnyCPU です。
SetTargetFramework 省略可能な文字列。 参照プロジェクトのグローバル プロパティ TargetFramework を設定します。たとえば、TargetFramework=netstandard2.0 です。
SkipGetTargetFrameworkProperties 省略可能なブール値。 true の場合、最も互換性のある TargetFramework 値をネゴシエートせずに参照プロジェクトをビルドします。 既定値は false です。
対象サーバー string[] で、省略可能です。 ビルドする参照プロジェクトのターゲットをセミコロンで区切って一覧にしたもの。 既定は $(ProjectReferenceBuildTargets) の値であり、指定しないと空になり、既定のターゲットを示します。

Compile

コンパイラのソース ファイルを表します。

項目メタデータの名前 説明
DependentUpon 省略可能な文字列。 正しくコンパイルする必要があるファイルを指定します。
AutoGen 省略可能なブール値。 Visual Studio 統合開発環境 (IDE) によってプロジェクト用にファイルが生成されたかどうかを示します。
Link 省略可能な文字列。 プロジェクト ファイルの影響が及ばない物理的な場所にファイルが配置されるときに表示される表記パスです。
Visible 省略可能なブール値。 Visual Studio の ソリューション エクスプローラー にファイルを表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 出力ディレクトリにファイルをコピーするかどうかを判断します。 値は次のとおりです。

1.Never
2.Always
3.PreserveNewest

EmbeddedResource

生成されるアセンブリに埋め込まれるリソースを表します。

項目メタデータの名前 説明
DependentUpon 省略可能な文字列。 正しくコンパイルするために、このファイルが依存するファイルを指定します
Generator 必須の文字列。 この項目に対して実行される任意のファイル ジェネレーターの名前です。
LastGenOutput 必須の文字列。 この項目に対して実行された任意のファイル ジェネレーターによって作成されたファイルの名前です。
CustomToolNamespace 必須の文字列。 名前空間を指定します。指定した名前空間で、この項目に対して実行する任意のファイル ジェネレーターによってコードが作成されます。
Link 省略可能な文字列。 プロジェクトの影響が及ばない物理的な場所にファイルが配置されるときに表示される表記パスです。
Visible 省略可能なブール値。 Visual Studio の ソリューション エクスプローラー にファイルを表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 出力ディレクトリにファイルをコピーするかどうかを判断します。 値は次のとおりです。

1.Never
2.Always
3.PreserveNewest
LogicalName 必須の文字列。 埋め込まれるリソースの論理名です。

Content

プロジェクトにコンパイルはされないものの、プロジェクトと共に埋め込まれるか発行されることのあるファイルを表します。

項目メタデータの名前 説明
DependentUpon 省略可能な文字列。 正しくコンパイルする必要があるファイルを指定します。
Generator 必須の文字列。 この項目に対して実行する任意のファイル ジェネレーターの名前です。
LastGenOutput 必須の文字列。 この項目に対して実行された任意のファイル ジェネレーターによって作成されたファイルの名前です。
CustomToolNamespace 必須の文字列。 名前空間を指定します。指定した名前空間で、この項目に対して実行する任意のファイル ジェネレーターによってコードが作成されます。
Link 省略可能な文字列。 プロジェクトの影響が及ばない物理的な場所にファイルが配置されるときに表示される表記パスです。
PublishState 必須の文字列。 コンテンツの発行状態を示すもので、以下のいずれかの値を取ります。

- Default
- Included
- Excluded
- DataFile
- Prerequisite
IsAssembly 省略可能なブール値。 ファイルがアセンブリであるかどうかを指定します。
Visible 省略可能なブール値。 Visual Studio の ソリューション エクスプローラー にファイルを表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 出力ディレクトリにファイルをコピーするかどうかを判断します。 値は次のとおりです。

1.Never
2.Always
3.PreserveNewest

None

ビルド プロセスでは使用しないことが推奨されるファイルを表します。

項目メタデータの名前 説明
DependentUpon 省略可能な文字列。 正しくコンパイルする必要があるファイルを指定します。
Generator 必須の文字列。 この項目に対して実行される任意のファイル ジェネレーターの名前です。
LastGenOutput 必須の文字列。 この項目に対して実行された任意のファイル ジェネレーターによって作成されたファイルの名前です。
CustomToolNamespace 必須の文字列。 名前空間を指定します。指定した名前空間で、この項目に対して実行する任意のファイル ジェネレーターによってコードが作成されます。
Link 省略可能な文字列。 プロジェクトの影響が及ばない物理的な場所にファイルが配置されるときに表示される表記パスです。
Visible 省略可能なブール値。 Visual Studio の ソリューション エクスプローラー にファイルを表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 出力ディレクトリにファイルをコピーするかどうかを判断します。 値は次のとおりです。

1.Never
2.Always
3.PreserveNewest

AssemblyMetadata

[AssemblyMetadata(key, value)] として生成されるアセンブリ属性を表します。

項目メタデータの名前 説明
包含 AssemblyMetadataAttribute 属性コンストラクターの最初のパラメーター (キー) になります。
[値] 必須の文字列。 AssemblyMetadataAttribute 属性コンストラクターの 2 番目のパラメーター (値) になります。

注意

この項目は、SDK for .NET 5 (および .NET Core) 以降のバージョンを使用するプロジェクトに適用されます。

InternalsVisibleTo

[InternalsVisibleTo(..)] アセンブリ属性として出力されるアセンブリを指定します。

項目メタデータの名前 説明
包含 アセンブリ名。
キー 省略可能な文字列。 アセンブリの公開キー。

注意

この項目は、SDK for .NET 5 (および .NET Core) 以降のバージョンを使用するプロジェクトに適用されます。

BaseApplicationManifest

ビルドの基本アプリケーション マニフェストを表し、ClickOnce 配置セキュリティ情報を含みます。

CodeAnalysisImport

インポートする FxCop プロジェクトを表します。

インポート

Visual Basic コンパイラによってその名前空間がインポートされるアセンブリを表します。

関連項目