一般的な 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.exe や dotnet 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 | 省略可能な文字列。 この項目で実行されるファイル ジェネレーターがコードを作成する名前空間。 |
リンク | 省略可能な文字列。 ファイルがプロジェクトの影響を受けずに物理的に配置されている場合に表示される表記パス。 |
目に見える | 省略可能なブール値。 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 によってのみ使用されます。 フォルダーが設定されると、別の要素に置き換えられます。
関連項目
- MSBuild プロジェクトの一般的なプロパティ
- 一般的な MSBuild 項目メタデータ の