.NET SDK プロジェクトの MSBuild リファレンスMSBuild reference for .NET SDK projects

このページは、.NET プロジェクトの構成に使用できる、MSBuild のプロパティと項目のリファレンスです。This page is a reference for the MSBuild properties and items that you can use to configure .NET projects.

注意

このページの編集は進行中であり、.NET SDK の便利な MSBuild プロパティがすべて記載されている訳ではありません。This page is a work in progress and does not list all of the useful MSBuild properties for the .NET SDK. 一般的な MSBuild プロパティの一覧については、「MSBuild プロジェクトの共通プロパティ」を参照してください。For a list of common MSBuild properties, see Common MSBuild properties.

フレームワークのプロパティFramework properties

TargetFrameworkTargetFramework

TargetFramework プロパティには、アプリのターゲット フレームワーク バージョンを指定します。The TargetFramework property specifies the target framework version for the app. 有効なターゲット フレームワーク モニカーの一覧については、「SDK スタイルのプロジェクトでのターゲット フレームワーク」を参照してください。For a list of valid target framework monikers, see Target frameworks in SDK-style projects.

<PropertyGroup>
  <TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

詳細については、「SDK スタイルのプロジェクトでのターゲット フレームワーク」を参照してください。For more information, see Target frameworks in SDK-style projects.

TargetFrameworksTargetFrameworks

アプリで複数のプラットフォームをターゲットにする場合は、TargetFrameworks プロパティを使用します。Use the TargetFrameworks property when you want your app to target multiple platforms. 有効なターゲット フレームワーク モニカーの一覧については、「SDK スタイルのプロジェクトでのターゲット フレームワーク」を参照してください。For a list of valid target framework monikers, see Target frameworks in SDK-style projects.

注意

TargetFramework (単数形) が指定されている場合、このプロパティは無視されます。This property is ignored if TargetFramework (singular) is specified.

<PropertyGroup>
  <TargetFrameworks>netcoreapp3.1;net462</TargetFrameworks>
</PropertyGroup>

詳細については、「SDK スタイルのプロジェクトでのターゲット フレームワーク」を参照してください。For more information, see Target frameworks in SDK-style projects.

NetStandardImplicitPackageVersionNetStandardImplicitPackageVersion

注意

このプロパティは、netstandard1.x を使用するプロジェクトにのみ適用されます。This property only applies to projects using netstandard1.x. netstandard2.x を使用するプロジェクトには適用されません。It doesn't apply to projects that use netstandard2.x.

メタパッケージ バージョンよりも低いフレームワーク バージョンを指定する場合は、NetStandardImplicitPackageVersion プロパティを使用します。Use the NetStandardImplicitPackageVersion property when you want to specify a framework version that's lower than the metapackage version. 次の例のプロジェクト ファイルは、netstandard1.3 をターゲットにしていますが、NETStandard.Library の 1.6.0 バージョンを使用しています。The project file in the following example targets netstandard1.3 but uses the 1.6.0 version of NETStandard.Library.

<PropertyGroup>
  <TargetFramework>netstandard1.3</TargetFramework>
  <NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
</PropertyGroup>

パッケージのプロパティPackage properties

PackageIdPackageVersionPackageIconTitleDescription などのプロパティを指定し、プロジェクトから作成されたパッケージについて説明できます。You can specify properties such as PackageId, PackageVersion, PackageIcon, Title, and Description to describe the package that gets created from your project. 以上のプロパティとその他のプロパティの詳細については、「pack ターゲット」を参照してください。For information about these and other properties, see pack target.

<PropertyGroup>
  ...
  <PackageId>ClassLibDotNetStandard</PackageId>
  <Version>1.0.0</Version>
  <Authors>John Doe</Authors>
  <Company>Contoso</Company>
</PropertyGroup>

プロパティと項目の発行Publish properties and items

RuntimeIdentifierRuntimeIdentifier

RuntimeIdentifier プロパティを使用すると、プロジェクトに 1 つのランタイム識別子 (RID) を指定できます。The RuntimeIdentifier property lets you specify a single runtime identifier (RID) for the project. RID により、自己完結型の展開を発行できます。The RID enables publishing a self-contained deployment.

<PropertyGroup>
  <RuntimeIdentifier>ubuntu.16.04-x64</RuntimeIdentifier>
</PropertyGroup>

RuntimeIdentifiersRuntimeIdentifiers

RuntimeIdentifiers プロパティには、プロジェクトのランタイム識別子 (RID) のセミコロン区切りリストを指定できます。The RuntimeIdentifiers property lets you specify a semicolon-delimited list of runtime identifiers (RIDs) for the project. 複数のランタイムに発行する必要がある場合は、このプロパティを使用します。Use this property if you need to publish for multiple runtimes. RuntimeIdentifiers は、復元時に適切な資産をグラフに確実に含めるために使用されます。RuntimeIdentifiers is used at restore time to ensure the right assets are in the graph.

ヒント

RuntimeIdentifier (単数形) を使用すると、必要なランタイムが 1 つだけのとき、ビルドが速くなります。RuntimeIdentifier (singular) can provide faster builds when only a single runtime is required.

<PropertyGroup>
  <RuntimeIdentifiers>win10-x64;osx.10.11-x64;ubuntu.16.04-x64</RuntimeIdentifiers>
</PropertyGroup>

TrimmerRootAssemblyTrimmerRootAssembly

TrimmerRootAssembly 項目ではアセンブリを " トリミング" から除外できます。The TrimmerRootAssembly item lets you exclude an assembly from trimming. トリミングとは、パッケージ化されたアプリケーションからランタイムの未使用部分を削除するプロセスです。Trimming is the process of removing unused parts of the runtime from a packaged application. 必要な参照がトリミングによって間違って削除されることもあります。In some cases, trimming might incorrectly remove required references.

次の XML では、トリミングから System.Security アセンブリが除外されます。The following XML excludes the System.Security assembly from trimming.

<ItemGroup>
  <TrimmerRootAssembly Include="System.Security" />
</ItemGroup>

UseAppHostUseAppHost

UseAppHost プロパティは、.NET SDK の 2.1.400 バージョンで導入されました。The UseAppHost property was introduced in the 2.1.400 version of the .NET SDK. デプロイ用にネイティブ実行可能ファイルを作成するかどうかを制御できます。It controls whether or not a native executable is created for a deployment. 自己完結型の配置にはネイティブの実行可能ファイルが必要です。A native executable is required for self-contained deployments.

.NET Core 3.0 以降のバージョンでは、既定でフレームワークに依存する実行可能ファイルが作成されます。In .NET Core 3.0 and later versions, a framework-dependent executable is created by default. 実行可能ファイルの生成を無効にするには、UseAppHost プロパティを false に設定します。Set the UseAppHost property to false to disable generation of the executable.

<PropertyGroup>
  <UseAppHost>false</UseAppHost>
</PropertyGroup>

配置の詳細については、.NET アプリケーションの配置に関するページを参照してください。For more information about deployment, see .NET application deployment.

コンパイルのプロパティCompile properties

EmbeddedResourceUseDependentUponConventionEmbeddedResourceUseDependentUponConvention

EmbeddedResourceUseDependentUponConvention プロパティは、リソース マニフェスト ファイル名が、リソース ファイルと併置されているソース ファイルの型情報から生成されるかどうかを定義します。The EmbeddedResourceUseDependentUponConvention property defines whether resource manifest file names are generated from type information in source files that are colocated with resource files. たとえば、 Form1.vbForm1.cs と同じフォルダーにあり、EmbeddedResourceUseDependentUponConventiontrue に設定されている場合、生成された .resources ファイルは Form1.cs で定義されている最初の型から名前を受け取ります。For example, if Form1.resx is in the same folder as Form1.cs , and EmbeddedResourceUseDependentUponConvention is set to true, the generated .resources file takes its name from the first type that's defined in Form1.cs. たとえば、MyNamespace.Form1Form1.cs で定義されている最初の型である場合、生成されたファイル名は MyNamespace.Form1.resources になります。For example, if MyNamespace.Form1 is the first type defined in Form1.cs , the generated file name is MyNamespace.Form1.resources.

注意

LogicalNameManifestResourceName、または DependentUpon メタデータが EmbeddedResource 項目に対して指定されている場合、そのリソース ファイルに対して生成されたマニフェスト ファイル名は、代わりにそのメタデータがベースになります。If LogicalName, ManifestResourceName, or DependentUpon metadata is specified for an EmbeddedResource item, the generated manifest file name for that resource file is based on that metadata instead.

既定では、新しい .NET プロジェクトでは、このプロパティは true に設定されます。By default, in a new .NET project, this property is set to true. false に設定され、かつプロジェクト ファイルの EmbeddedResource 項目に LogicalNameManifestResourceNameDependentUpon のメタデータがどれも指定されていない場合、リソース マニフェストのファイル名は、プロジェクトのルート名前空間と、 .resx ファイルへの相対ファイル パスがベースになります。If set to false, and no LogicalName, ManifestResourceName, or DependentUpon metadata is specified for the EmbeddedResource item in the project file, the resource manifest file name is based off the root namespace for the project and the relative file path to the .resx file. 詳細については、「リソース マニフェスト ファイルの名前付けの方法」を参照してください。For more information, see How resource manifest files are named.

<PropertyGroup>
  <EmbeddedResourceUseDependentUponConvention>true</EmbeddedResourceUseDependentUponConvention>
</PropertyGroup>

LangVersionLangVersion

LangVersion プロパティを使用すると、特定のプログラミング言語バージョンを指定できます。The LangVersion property lets you specify a specific programming language version. たとえば、C# プレビュー機能にアクセスする場合は、LangVersionpreview に設定します。For example, if you want access to C# preview features, set LangVersion to preview.

<PropertyGroup>
  <LangVersion>preview</LangVersion>
</PropertyGroup>

詳細については、「C# 言語のバージョン管理」を参照してください。For more information, see C# language versioning.

コード分析のプロパティCode analysis properties

AnalysisLevelAnalysisLevel

AnalysisLevel プロパティを使用すると、コード分析レベルを指定できます。The AnalysisLevel property lets you specify a code analysis level. たとえば、プレビューのコード アナライザーにアクセスする場合は、AnalysisLevelpreview に設定します。For example, if you want access to preview code analyzers, set AnalysisLevel to preview. 既定値は latest です。The default value is latest.

<PropertyGroup>
  <AnalysisLevel>preview</AnalysisLevel>
</PropertyGroup>

次の表で利用可能なオプションについて説明します。The following table shows the available options.

Value 説明Meaning
latest リリースされている最新のコード アナライザーが使用されます。The latest code analyzers that have been released are used. 既定値です。This is the default.
preview 最新のコード アナライザーが、プレビュー段階であっても使用されます。The latest code analyzers are used, even if they are in preview.
5.0 新しいルールが使用可能な場合でも、.NET 5.0 リリースで有効になっていた一連のルールが使用されます。The set of rules that was enabled for the .NET 5.0 release is used, even if newer rules are available.
5 新しいルールが使用可能な場合でも、.NET 5.0 リリースで有効になっていた一連のルールが使用されます。The set of rules that was enabled for the .NET 5.0 release is used, even if newer rules are available.

AnalysisModeAnalysisMode

.NET 5.0 RC2 以降、.NET SDK には、すべての "CA" コード品質ルールが付属しています。Starting with .NET 5.0 RC2, the .NET SDK ships with all of the "CA" code quality rules. 既定では、ビルド警告として一部のルールが有効になっています。By default, only some rules are enabled as build warnings. AnalysisMode プロパティを使用すると、既定で有効になるルールのセットをカスタマイズできます。The AnalysisMode property lets you customize the set of rules that are enabled by default. より積極的な (オプトアウト) 分析モード、またはより保守的な (オプトイン) 分析モードに切り替えることができます。You can either switch to a more aggressive (opt-out) analysis mode or a more conservative (opt-in) analysis mode. たとえば、既定ですべてのルールをビルド警告として有効にする場合は、値を AllEnabledByDefault に設定します。For example, if you want to enable all rules by default as build warnings, set the value to AllEnabledByDefault.

<PropertyGroup>
  <AnalysisMode>AllEnabledByDefault</AnalysisMode>
</PropertyGroup>

次の表で利用可能なオプションについて説明します。The following table shows the available options.

Value 説明Meaning
Default 既定のモードでは、特定のルールがビルド警告として有効になり、特定のルールが Visual Studio IDE の提案として有効になり、残りは無効になります。Default mode, where certain rules are enabled as build warnings, certain rules are enabled as Visual Studio IDE suggestions, and the remainder are disabled.
AllEnabledByDefault 積極的な (オプトアウト) モード。すべてのルールが既定でビルド警告として有効になっています。Aggressive or opt-out mode, where all rules are enabled by default as build warnings. 個々のルールを選択的にオプトアウトして無効にすることができます。You can selectively opt out of individual rules to disable them.
AllDisabledByDefault 保守的な (オプトイン) モード。すべてのルールが既定で無効になっています。Conservative or opt-in mode, where all rules are disabled by default. 個々のルールを選択的にオプトインして有効にすることができます。You can selectively opt into individual rules to enable them.

CodeAnalysisTreatWarningsAsErrorsCodeAnalysisTreatWarningsAsErrors

CodeAnalysisTreatWarningsAsErrors プロパティを使用すると、コード品質分析の警告 (CAxxxx) を警告として扱い、ビルドを中断するかどうかを構成できます。The CodeAnalysisTreatWarningsAsErrors property lets you configure whether code quality analysis warnings (CAxxxx) should be treated as warnings and break the build. プロジェクトをビルドするときに -warnaserror フラグを使用すると、.NET コード品質分析の警告もエラーとして扱われます。If you use the -warnaserror flag when you build your projects, .NET code quality analysis warnings are also treated as errors. コード品質分析の警告がエラーとして扱われないようにするには、プロジェクト ファイル内の CodeAnalysisTreatWarningsAsErrors MSBuild プロパティを false に設定します。If you do not want code quality analysis warnings to be treated as errors, you can set the CodeAnalysisTreatWarningsAsErrors MSBuild property to false in your project file.

<PropertyGroup>
  <CodeAnalysisTreatWarningsAsErrors>false</CodeAnalysisTreatWarningsAsErrors>
</PropertyGroup>

EnableNETAnalyzersEnableNETAnalyzers

.NET 5.0 以降をターゲットとするプロジェクトでは、.NET コード品質分析が既定で有効になっています。.NET code quality analysis is enabled, by default, for projects that target .NET 5.0 or later. 以前のバージョンの .NET をターゲットとするプロジェクトで .NET コード分析を有効にするには、EnableNETAnalyzers プロパティを true に設定します。You can enable .NET code analysis for projects that target earlier versions of .NET by setting the EnableNETAnalyzers property to true. 任意のプロジェクトでコード分析を無効にするには、このプロパティを false に設定します。To disable code analysis in any project, set this property to false.

<PropertyGroup>
  <EnableNETAnalyzers>true</EnableNETAnalyzers>
</PropertyGroup>

ヒント

.Net 5.0 より前の .NET バージョンを対象とするプロジェクトで .NET コード分析を有効にするもう 1 つの方法は、AnalysisLevel プロパティを latest に設定することです。Another way to enable .NET code analysis on projects that target .NET versions prior to .NET 5.0 is to set the AnalysisLevel property to latest.

EnforceCodeStyleInBuildEnforceCodeStyleInBuild

注意

この機能は現在試験段階にあり、.NET 5 リリースと .NET 6 リリースの間で変更される可能性があります。This feature is currently experimental and may change between the .NET 5 and .NET 6 releases.

すべての .NET プロジェクトのビルドでは、.NET コード スタイル分析は既定で無効になっています。.NET code style analysis is disabled, by default, on build for all .NET projects. EnforceCodeStyleInBuild プロパティを true に設定して、.NET プロジェクトのコード スタイル分析を有効にできます。You can enable code style analysis for .NET projects by setting the EnforceCodeStyleInBuild property to true.

<PropertyGroup>
  <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>

警告またはエラーになるように構成されているすべてのコード スタイル ルールは、ビルド時に実行され、違反を報告します。All code style rules that are configured to be warnings or errors will execute on build and report violations.

ランタイム構成プロパティRun-time configuration properties

アプリのプロジェクト ファイルに MSBuild プロパティを指定することで一部のランタイム動作を構成できます。You can configure some run-time behaviors by specifying MSBuild properties in the project file of the app. ランタイム動作のその他の構成方法については、ランタイム構成設定に関する記事をご覧ください。For information about other ways of configuring run-time behavior, see Run-time configuration settings.

ConcurrentGarbageCollectionConcurrentGarbageCollection

ConcurrentGarbageCollection プロパティでは、バックグラウンド (同時実行) ガベージ コレクションの有効または無効が設定されます。The ConcurrentGarbageCollection property configures whether background (concurrent) garbage collection is enabled. この値を false に設定すると、バックグラウンド ガベージ コレクションが無効になります。Set the value to false to disable background garbage collection. 詳細については、「バックグラウンド GC」を参照してください。For more information, see Background GC.

<PropertyGroup>
  <ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>
</PropertyGroup>

InvariantGlobalizationInvariantGlobalization

InvariantGlobalization プロパティでは、アプリを globalization-invariant モードで実行するかどうかを設定します。このモードでは、カルチャ固有のデータにアクセスできません。The InvariantGlobalization property configures whether the app runs in globalization-invariant mode, which means it doesn't have access to culture-specific data. この値を true に設定すると、globalization-invariant モードで実行されます。Set the value to true to run in globalization-invariant mode. 詳細については、「インバリアント モード」を参照してください。For more information, see Invariant mode.

<PropertyGroup>
  <InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>

RetainVMGarbageCollectionRetainVMGarbageCollection

RetainVMGarbageCollection プロパティでは、将来利用する目的で削除済みメモリ セグメントを待機一覧に載せるように、あるいは削除済みメモリ セグメントを解放するようにガベージ コレクターを設定します。The RetainVMGarbageCollection property configures the garbage collector to put deleted memory segments on a standby list for future use or release them. この値を true に設定すると、セグメントを待機一覧に載せるよう、ガベージ コレクターが命令されます。Setting the value to true tells the garbage collector to put the segments on a standby list. 詳細については、「VM の保持」を参照してください。For more information, see Retain VM.

<PropertyGroup>
  <RetainVMGarbageCollection>true</RetainVMGarbageCollection>
</PropertyGroup>

ServerGarbageCollectionServerGarbageCollection

ServerGarbageCollection プロパティでは、アプリケーションで使用するガベージ コレクションとしてワークステーション ガベージ コレクションまたはサーバー ガベージ コレクションを設定します。The ServerGarbageCollection property configures whether the application uses workstation garbage collection or server garbage collection. この値を true に設定すると、サーバー ガベージ コレクションが使用されます。Set the value to true to use server garbage collection. 詳細については、「ワークステーションとサーバー」を参照してください。For more information, see Workstation vs. server.

<PropertyGroup>
  <ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>

ThreadPoolMaxThreadsThreadPoolMaxThreads

ThreadPoolMaxThreads プロパティでは、ワーカー スレッド プールの最大スレッド数を設定します。The ThreadPoolMaxThreads property configures the maximum number of threads for the worker thread pool. 詳細については、「最大スレッド数」を参照してください。For more information, see Maximum threads.

<PropertyGroup>
  <ThreadPoolMaxThreads>20</ThreadPoolMaxThreads>
</PropertyGroup>

ThreadPoolMinThreadsThreadPoolMinThreads

ThreadPoolMinThreads プロパティでは、ワーカー スレッド プールの最小スレッド数を設定します。The ThreadPoolMinThreads property configures the minimum number of threads for the worker thread pool. 詳細については、「最小スレッド数」を参照してください。For more information, see Minimum threads.

<PropertyGroup>
  <ThreadPoolMinThreads>4</ThreadPoolMinThreads>
</PropertyGroup>

TieredCompilationTieredCompilation

TieredCompilation プロパティでは、Just-In-Time (JIT) コンパイラで階層型コンパイルを使用するかどうかを設定します。The TieredCompilation property configures whether the just-in-time (JIT) compiler uses tiered compilation. この値を false に設定すると、階層型コンパイルが無効になります。Set the value to false to disable tiered compilation. 詳細については、「階層型コンパイル」を参照してください。For more information, see Tiered compilation.

<PropertyGroup>
  <TieredCompilation>false</TieredCompilation>
</PropertyGroup>

TieredCompilationQuickJitTieredCompilationQuickJit

TieredCompilationQuickJit プロパティでは、JIT コンパイラでクイック JIT を使用するかどうかを設定します。The TieredCompilationQuickJit property configures whether the JIT compiler uses quick JIT. この値を false に設定すると、クイック JIT が無効になります。Set the value to false to disable quick JIT. 詳細については、「クイック JIT」を参照してください。For more information, see Quick JIT.

<PropertyGroup>
  <TieredCompilationQuickJit>false</TieredCompilationQuickJit>
</PropertyGroup>

TieredCompilationQuickJitForLoopsTieredCompilationQuickJitForLoops

TieredCompilationQuickJitForLoops プロパティでは、ループを含むメソッドに対して JIT コンパイラでクリック JIT を使用するかどうかを設定します。The TieredCompilationQuickJitForLoops property configures whether the JIT compiler uses quick JIT on methods that contain loops. この値を true に設定すると、ループが含まれるメソッドでクイック JIT が有効になります。Set the value to true to enable quick JIT on methods that contain loops. 詳細については、「ループに対するクイック JIT」を参照してください。For more information, see Quick JIT for loops.

<PropertyGroup>
  <TieredCompilationQuickJitForLoops>true</TieredCompilationQuickJitForLoops>
</PropertyGroup>

プロパティと項目の参照Reference properties and items

AssetTargetFallbackAssetTargetFallback

AssetTargetFallback プロパティを使用すると、プロジェクト参照と NuGet パッケージに対して、互換性のある追加のフレームワーク バージョンを指定できます。The AssetTargetFallback property lets you specify additional compatible framework versions for project references and NuGet packages. たとえば、PackageReference を使用してパッケージの依存関係を指定し、そのパッケージにプロジェクトの TargetFramework と互換性のある資産が含まれない場合は、AssetTargetFallback プロパティが機能します。For example, if you specify a package dependency using PackageReference but that package doesn't contain assets that are compatible with your projects's TargetFramework, the AssetTargetFallback property comes into play. 参照されたパッケージの互換性は、AssetTargetFallback で指定された各ターゲット フレームワークを使用して再確認されます。The compatibility of the referenced package is rechecked using each target framework that's specified in AssetTargetFallback.

AssetTargetFallback プロパティを 1 つ以上のターゲット フレームワーク バージョンに設定できます。You can set the AssetTargetFallback property to one or more target framework versions.

<PropertyGroup>
  <AssetTargetFallback>net461</AssetTargetFallback>
</PropertyGroup>

PackageReferencePackageReference

PackageReference 項目では、NuGet パッケージへの参照が定義されます。The PackageReference item defines a reference to a NuGet package.

Include 属性は、パッケージ ID を指定します。The Include attribute specifies the package ID. Version 属性では、バージョンまたはバージョン範囲を指定します。The Version attribute specifies the version or version range. 最小バージョン、最大バージョン、範囲、厳密一致を指定する方法については、「バージョン範囲」を参照してください。For information about how to specify a minimum version, maximum version, range, or exact match, see Version ranges. また、メタデータ IncludeAssetsExcludeAssetsPrivateAssets をプロジェクト参照に追加できます。You can also add the following metadata to a project reference: IncludeAssets, ExcludeAssets, and PrivateAssets.

次の例のプロジェクト ファイル スニペットでは、System.Runtime パッケージを参照しています。The project file snippet in the following example references the System.Runtime package.

<ItemGroup>
  <PackageReference Include="System.Runtime" Version="4.3.0" />
</ItemGroup>

詳細については、プロジェクト ファイルのパッケージ参照に関するページを参照してください。For more information, see Package references in project files.

ProjectReferenceProjectReference

ProjectReference 項目では、別のプロジェクトへの参照を定義します。The ProjectReference item defines a reference to another project. 参照されたプロジェクトは NuGet パッケージ依存関係として追加されます。つまり、PackageReference と同じように処理されます。The referenced project is added as a NuGet package dependency, that is, it's treated the same as a PackageReference.

Include 属性は、プロジェクトのパスを指定します。The Include attribute specifies the path to the project. また、メタデータ IncludeAssetsExcludeAssetsPrivateAssets をプロジェクト参照に追加できます。You can also add the following metadata to a project reference: IncludeAssets, ExcludeAssets, and PrivateAssets.

次の例のプロジェクト ファイル スニペットでは、Project2 という名前のプロジェクトが参照されます。The project file snippet in the following example references a project named Project2.

<ItemGroup>
  <ProjectReference Include="..\Project2.csproj" />
</ItemGroup>

関連項目Reference

Reference 項目では、アセンブリ ファイルへの参照を定義します。The Reference item defines a reference to an assembly file.

Include 属性によってファイルの名前が指定され、HintPath メタデータによってアセンブリへのパスが指定されます。The Include attribute specifies the name of the file, and the HintPath metadata specifies the path to the assembly.

<ItemGroup>
  <Reference Include="MyAssembly">
    <HintPath>..\..\Assemblies\MyAssembly.dll</HintPath>
  </Reference>
</ItemGroup>

restore のプロパティRestore properties

参照されたパッケージを復元すると、その直接的な依存関係と間接的な依存関係がすべてインストールされます。Restoring a referenced package installs all of its direct dependencies and all the dependencies of those dependencies. RestorePackagesPathRestoreIgnoreFailedSources など、プロパティを指定することでパッケージ復元をカスタマイズできます。You can customize package restoration by specifying properties such as RestorePackagesPath and RestoreIgnoreFailedSources. 以上のプロパティとその他のプロパティの詳細については、「restore ターゲット」を参照してください。For more information about these and other properties, see restore target.

<PropertyGroup>
  <RestoreIgnoreFailedSource>true</RestoreIgnoreFailedSource>
</PropertyGroup>

関連項目See also