次の方法で共有


一般的な MSBuild プロジェクト項目

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

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

Reference

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

項目メタデータ名 形容
HintPath 省略可能な文字列。 アセンブリの相対パスまたは絶対パス。
名前 省略可能な文字列。 アセンブリの表示名 ("System.Windows.Forms" など)。
FusionName 省略可能な文字列。 項目の単純または厳密な融合名を指定します。

この属性が存在する場合、融合名を取得するためにアセンブリ ファイルを開く必要がないため、時間を節約できます。
SpecificVersion 省略可能なブール値。 Fusion 名内のバージョンのみを参照するかどうかを指定します。
エイリアス 省略可能な文字列。 参照のエイリアス。
プライベート 省略可能なブール値。 参照を出力フォルダーにコピーするかどうかを指定します。 この属性は、Visual Studio IDE 内の参照の Copy Local プロパティと一致します。

COMReference

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

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

1. プライマリ
2. tlbimp
3. primaryortlbimp
4. aximp
分離 省略可能なブール値。 コンポーネントが reg-free コンポーネントかどうかを指定します。

COMFileReference

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

項目メタデータ名 形容
EmbedInteropTypes 省略可能なブール値。 true の場合は、相互運用 DLL を生成するのではなく、この参照の相互運用機能の型をアセンブリに直接埋め込みます。
WrapperTool 省略可能な文字列。 コンポーネントで使用されるラッパー ツールの名前。 値は次のとおりです。

1. プライマリ
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

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

項目メタデータ名 形容
名前 必須の文字列。 マニフェスト ファイルのベース名。
HintPath 必須の文字列。 マニフェスト ファイルの相対パス。

ProjectReference

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

項目メタデータ名 形容
名前 省略可能な文字列。 参照の表示名。
GlobalPropertiesToRemove 省略可能な string[]。 参照先プロジェクトのビルド時に削除するプロパティの名前 (RuntimeIdentifier;PackOnBuildなど)。 既定値は空です。
プロジェクト 省略可能な文字列。 {12345678-1234-1234-1234-123456781234}形式の参照の GUID。
OutputItemType 省略可能な文字列。 ターゲット出力を出力する項目の種類。 既定値は空白です。 参照メタデータが "true" (既定値) に設定されている場合、ターゲット出力はコンパイラの参照になります。
ReferenceOutputAssembly 省略可能なブール値。 falseに設定すると、このプロジェクトの 参照 として参照されているプロジェクトの出力は含まれませんが、このプロジェクトの前に他のプロジェクトがビルドされることが保証されます。 既定値は trueです。
プライベート 省略可能なブール値。 参照を出力フォルダーにコピーするかどうかを指定します。 この属性は、Visual Studio IDE 内の参照の Copy Local プロパティと一致します。
SetConfiguration 省略可能な文字列。 参照先プロジェクトのグローバル プロパティ Configuration を設定します (例: Configuration=Release)。
SetPlatform 省略可能な文字列。 参照先プロジェクトのグローバル プロパティ Platform を設定します (例: Platform=AnyCPU)。
SetTargetFramework 省略可能な文字列。 参照先プロジェクトのグローバル プロパティ TargetFramework を設定します (例: TargetFramework=netstandard2.0)。
SkipGetTargetFrameworkProperties 省略可能なブール値。 true場合は、最も互換性のある TargetFramework 値をネゴシエートせずに、参照先のプロジェクトをビルドします。 既定値は falseです。
ターゲット 省略可能な string[]。 ビルドする必要がある参照先プロジェクト内のターゲットのセミコロン区切りリスト。 既定値は $(ProjectReferenceBuildTargets)の値で、既定値は空で、既定のターゲットを示します。 (MSBuild.exedotnet buildではなく) Visual Studio でビルドする場合、これを指定しても、Visual Studio が参照先プロジェクトの既定のターゲットをビルドできなくなります。

手記

.NET Framework と .NET Core (.NET 5 以降を含む) では、プロジェクト参照の動作方法に違いがあります。 .NET Framework プロジェクトでは、プロジェクト参照は推移的ではありません。 つまり、Project1 が Project2 を参照し、Project2 が Project3 を参照している場合、Project1 から Project3 に対してコードを作成することはできません。 ただし、.NET Core (.NET 5 以降を含む) では、プロジェクト参照 推移的です。 Project1 で Project3 に対してコーディングできます。

コンパイル

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

項目メタデータ名 形容
DependentUpon 省略可能な文字列。 このファイルが正しくコンパイルするために依存するファイルを指定します。
AutoGen 省略可能なブール値。 Visual Studio 統合開発環境 (IDE) によってプロジェクトに対してファイルが生成されたかどうかを示します。
リンク 省略可能な文字列。 ファイルがプロジェクト ファイルの影響を受けずに物理的に配置されている場合に表示される表記パス。
目に見える 省略可能なブール値。 Visual Studio のソリューション エクスプローラー にファイル 表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 ファイルを出力ディレクトリにコピーするかどうかを決定します。 値は次のとおりです。

1. 決して
2. 常に
3. PreserveNewest
4. IfDifferent

EmbeddedResource

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

項目メタデータ名 形容
文化 省略可能な文字列。 リソース ファイルのカルチャを指定します。 指定した場合、ビルド プロセスは、ファイル拡張子に基づいてカルチャを自動推論しません (これは、ビルドをホストしているコンピューター上の .NET/OS で使用できるカルチャに依存します)。 Culture={culture identifier} または WithCulture=false メタデータを設定することを強くお勧めします。
WithCulture 省略可能なブール値。 ファイルがカルチャに依存せず、タスクによるカルチャ検出 AssignCulture スキップする必要があることを指定します。 Culture={culture identifier} または WithCulture=false メタデータを設定することを強くお勧めします。
DependentUpon 省略可能な文字列。 このファイルが正しくコンパイルするために依存するファイルを指定します
ジェネレータ 省略可能な文字列。 この項目で実行される任意のファイル ジェネレーターの名前。
LastGenOutput 省略可能な文字列。 この項目で実行されたファイル ジェネレーターによって作成されたファイルの名前。
CustomToolNamespace 省略可能な文字列。 この項目で実行されるファイル ジェネレーターがコードを作成する名前空間。
リンク 省略可能な文字列。 ファイルがプロジェクトの影響を受けずに物理的に配置されている場合は、表記パスが表示されます。
目に見える 省略可能なブール値。 Visual Studio のソリューション エクスプローラー にファイル 表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 ファイルを出力ディレクトリにコピーするかどうかを決定します。 値は次のとおりです。

1. 決して
2. 常に
3. PreserveNewest
4. IfDifferent
LogicalName 必須の文字列。 埋め込みリソースの論理名。

コンテンツ

プロジェクトにコンパイルされていないが、埋め込まれたり、一緒に発行されたりするファイルを表します。

項目メタデータ名 形容
DependentUpon 省略可能な文字列。 このファイルが正しくコンパイルするために依存するファイルを指定します。
ジェネレータ 省略可能な文字列。 この項目で実行されるファイル ジェネレーターの名前。
LastGenOutput 省略可能な文字列。 この項目で実行されたファイル ジェネレーターによって作成されたファイルの名前。
CustomToolNamespace 省略可能な文字列。 この項目で実行されるファイル ジェネレーターがコードを作成する名前空間。
リンク 省略可能な文字列。 ファイルがプロジェクトの影響を受けずに物理的に配置されている場合に表示される表記パス。
PublishState 必須の文字列。 コンテンツの発行状態。次のいずれかです。

-デフォルト
-含ま
-除外
-データファイル
-前提
IsAssembly 省略可能なブール値。 ファイルがアセンブリであるかどうかを指定します。
目に見える 省略可能なブール値。 Visual Studio のソリューション エクスプローラー にファイル 表示するかどうかを示します。
CopyToOutputDirectory 省略可能な文字列。 ファイルを出力ディレクトリにコピーするかどうかを決定します。 値は次のとおりです。

1. 決して
2. 常に
3. PreserveNewest
4. IfDifferent
TargetPath 省略可能な文字列。 ファイル名を含む項目の出力パス (構成またはプラットフォーム固有の出力ディレクトリに対する相対パス)。 指定された場合、Link メタデータが考慮されます。 TargetPath が指定されていない場合は、ビルド プロセス中に計算されます。 AssignTargetPath 参照してください。

何一つ

ビルド プロセスにロールを持たないファイルを表します。

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

1. 決して
2. 常に
3. PreserveNewest
4. IfDifferent

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 コンパイラによって名前空間をインポートする必要があるアセンブリを表します。

フォルダ

この要素は、空のフォルダーのプレースホルダーとして Visual Studio によってのみ使用されます。 フォルダーが設定されると、別の要素に置き換えられます。

関連項目