MSBuild プロジェクトの共通項目
MSBuild では、項目は 1 つ以上のファイルに対応する名前付きの参照です。 項目には、ファイル名、パス、バージョン番号などのメタデータが含まれます。 Visual Studio のすべてのプロジェクト タイプには、共通の項目がいくつかあります。 これらの項目は、Microsoft.Build.CommonTypes.xsd ファイルで定義されています。
この記事では、共通のプロジェクト項目をすべて一覧表示します。
Reference
プロジェクト内のアセンブリ (マネージド) 参照を表します。
項目メタデータの名前 | 説明 |
---|---|
HintPath | 省略可能な文字列。 アセンブリの相対パスまたは絶対パスを指定します。 |
名前 | 省略可能な文字列。 アセンブリの表示名を指定します (たとえば、"System.Windows.Forms")。 |
FusionName | 省略可能な文字列。 項目の簡易または厳密な fusion 名を指定します。 この属性が存在する場合、融合名を取得するためにアセンブリ ファイルを開く必要がないため、時間を節約できます。 |
SpecificVersion | 省略可能なブール値。 fusion 名の特定のバージョンを参照する必要があるかどうかを指定します。 |
Aliases | 省略可能な文字列。 参照の任意のエイリアスです。 |
Private | 省略可能なブール値。 参照を出力フォルダーにコピーする必要があるかどうかを指定します。 この属性は、Visual Studio IDE に存在する参照の [ローカルにコピー] プロパティに一致します。 |
COMReference
プロジェクト内の COM (アンマネージ) コンポーネント参照を表します。 この項目は .NET プロジェクトにのみ適用されます。
項目メタデータの名前 | 説明 |
---|---|
名前 | 省略可能な文字列。 コンポーネントの表示名を指定します。 |
GUID | 必須の文字列。 コンポーネントの GUID を {12345678-1234-1234-1234-123456781234} の形式で指定します。 |
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-123456781234} の形式で指定します。 |
OutputItemType | 省略可能な文字列。 ターゲット出力の出力先となる項目の種類。 既定値は空白です。 参照メタデータが "true" (既定値) に設定されている場合、ターゲット出力はコンパイラの参照になります。 |
ReferenceOutputAssembly | 省略可能なブール値。 false に設定した場合、このプロジェクトのReferenceとして参照されているプロジェクトの出力は含まれませんが、このプロジェクトの前に他のプロジェクトがビルドされるようにします。 既定値は true です。 |
Private | 省略可能なブール値。 参照を出力フォルダーにコピーする必要があるかどうかを指定します。 この属性は、Visual Studio IDE に存在する参照の [ローカルにコピー] プロパティに一致します。 |
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 が参照先プロジェクトの既定のターゲットをビルドできなくなります。 |
Note
.NET Framework と .NET Core (.NET 5 以降を含む) とでは、プロジェクト参照の機能に違いがあります。 .NET Framework プロジェクトでは、プロジェクト参照は推移的ではありません。 つまり、Project1 が Project2 を参照し、Project2 が Project3 を参照している場合、Project1 から Project3 に対するコーディングを行うことはできません。 ただし、.NET Core (.NET 5 以降を含む) では、プロジェクト参照は推移的 "です"。 Project1 で、Project3 に対するコーディングを行うことができます。
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 |
TargetPath | 省略可能な文字列。 ファイル名を含む、項目の出力パス (構成固有やプラットフォーム固有の出力ディレクトリへの相対パス)。 指定された場合は、Link メタデータが考慮されます。 TargetPath が指定されていない場合は、ビルド プロセス中に計算されます。 「AssignTargetPath」を参照してください。 |
None
ビルド プロセスでは使用しないことが推奨されるファイルを表します。
項目メタデータの名前 | 説明 |
---|---|
DependentUpon | 省略可能な文字列。 正しくコンパイルする必要があるファイルを指定します。 |
Generator | 省略可能な文字列。 この項目に対して実行される任意のファイル ジェネレーターの名前です。 |
LastGenOutput | 省略可能な文字列。 この項目に対して実行された任意のファイル ジェネレーターによって作成されたファイルの名前です。 |
CustomToolNamespace | 省略可能な文字列。 名前空間を指定します。指定した名前空間で、この項目に対して実行する任意のファイル ジェネレーターによってコードが作成されます。 |
Link | 省略可能な文字列。 プロジェクトの影響が及ばない物理的な場所にファイルが配置されるときに表示される表記パスです。 |
Visible | 省略可能なブール値。 Visual Studio のソリューション エクスプローラーにファイルを表示するかどうかを示します。 |
CopyToOutputDirectory | 省略可能な文字列。 出力ディレクトリにファイルをコピーするかどうかを判断します。 値は次のとおりです。 1. Never 2. Always 3. PreserveNewest |
AssemblyMetadata
[AssemblyMetadata(key, value)]
として生成されるアセンブリ属性を表します。
項目メタデータの名前 | 説明 |
---|---|
包含 | AssemblyMetadataAttribute 属性コンストラクターの最初のパラメーター (キー) になります。 |
[値] | 必須の文字列。 AssemblyMetadataAttribute 属性コンストラクターの 2 番目のパラメーター (値) になります。 |
Note
この項目は、SDK for .NET 5 (および .NET Core) 以降のバージョンを使用するプロジェクトに適用されます。
InternalsVisibleTo
[InternalsVisibleTo(..)]
アセンブリ属性として出力されるアセンブリを指定します。
項目メタデータの名前 | 説明 |
---|---|
包含 | アセンブリ名。 |
キー | 省略可能な文字列。 アセンブリの公開キー。 |
Note
この項目は、SDK for .NET 5 (および .NET Core) 以降のバージョンを使用するプロジェクトに適用されます。
BaseApplicationManifest
ビルドの基本アプリケーション マニフェストを表し、ClickOnce 配置セキュリティ情報を含みます。
CodeAnalysisImport
インポートする FxCop プロジェクトを表します。
インポート
Visual Basic コンパイラによってその名前空間がインポートされるアセンブリを表します。
フォルダー
この要素は、空のフォルダーのプレースホルダーとして Visual Studio によってのみ使用されます。 フォルダーが設定されると、別の要素に置き換えられます。