project.json 参照

project.json ファイルは .NET Core プロジェクトで利用され、プロジェクトのメタデータ、コンパイル情報、依存関係を定義します。 この参照トピックでは、project.json ファイルで定義できるすべてのプロパティの一覧を確認できます。

メモ

.NET Core ツールは今後のリリースで project.json から MSBuild ベースのプロジェクトに移行されます。 新しい .NET Core プロジェクトには引き続き project.json ファイルを使用することが推奨されます。ツールがリリースされたとき、プロジェクトを MSBuild に変換するためのパスが与えられるためです。

詳細については、.NET ブログ投稿の「Changes to project.json」 (project.json に変更する) と「Using MSBuild to build .NET Core projects」 (MSBuild を利用して .NET Core プロジェクトを構築する) トピックを参照してください。

概要

{
    "name": String,
    "version": String,
    "description": String,
    "copyright": String,
    "title": String,
    "entryPoint": String,
    "testRunner": String,
    "authors": String[],
    "language": String,
    "embedInteropTypes": Boolean,
    "preprocess": String or String[],
    "shared": String or String[],
    "dependencies": Object {
        version: String,
        type: String,
        target: String,
        include: String,
        exclude: String,
        suppressParent: String
    },
    "tools": Object,
    "scripts": Object,
    "buildOptions": Object {
        "define": String[],
        "nowarn": String[],
        "additionalArguments": String[],
        "warningsAsErrors": Boolean,
        "allowUnsafe": Boolean,
        "emitEntryPoint": Boolean,
        "optimize": Boolean,
        "platform": String,
        "languageVersion": String,
        "keyFile": String,
        "delaySign": Boolean,
        "publicSign": Boolean,
        "debugType": String,
        "xmlDoc": Boolean,
        "preserveCompilationContext": Boolean,
        "outputName": String,
        "compilerName": String,
        "compile": Object {
            "include": String or String[],
            "exclude": String or String[],
            "includeFiles": String or String[],
            "excludeFiles": String or String[],
            "builtIns": Object,
            "mappings": Object
        },
        "embed": Object {
            "include": String or String[],
            "exclude": String or String[],
            "includeFiles": String or String[],
            "excludeFiles": String or String[],
            "builtIns": Object,
            "mappings": Object
        },
        "copyToOutput": Object {
            "include": String or String[],
            "exclude": String or String[],
            "includeFiles": String or String[],
            "excludeFiles": String or String[],
            "builtIns": Object,
            "mappings": Object
        }
    },
    "publishOptions": Object {
        "include": String or String[],
        "exclude": String or String[],
        "includeFiles": String or String[],
        "excludeFiles": String or String[],
        "builtIns": Object,
        "mappings": Object
    },
    "runtimeOptions": Object {
        "configProperties": Object {
            "System.GC.Server": Boolean,
            "System.GC.Concurrent": Boolean,
            "System.GC.RetainVM": Boolean,
            "System.Threading.ThreadPool.MinThreads": Integer,
            "System.Threading.ThreadPool.MaxThreads": Integer
        },
        "framework": Object {
            "name": String,
            "version": String,
        },
        "applyPatches": Boolean
    },
    "packOptions": Object {
        "summary": String,
        "tags": String[],
        "owners": String[],
        "releaseNotes": String,
        "iconUrl": String,
        "projectUrl": String,
        "licenseUrl": String,
        "requireLicenseAcceptance": Boolean,
        "repository": Object {
            "type": String,
            "url": String
        },
        "files": Object {
            "include": String or String[],
            "exclude": String or String[],
            "includeFiles": String or String[],
            "excludeFiles": String or String[],
            "builtIns": Object,
            "mappings": Object
        }
    },
    "analyzerOptions": Object {
        "languageId": String
    },
    "configurations": Object,
    "frameworks": Object {
        "dependencies": Object {
            version: String,
            type: String,
            target: String,
            include: String,
            exclude: String,
            suppressParent: String
        },        
        "frameworkAssemblies": Object,
        "wrappedProject": String,
        "bin": Object {
            assembly: String
        }
    },
    "runtimes": Object,
    "userSecretsId": String
}

name

型: String

プロジェクトの名前。パッケージの名前として使用され、アセンブリ名として使用されます。 このプロパティが指定されない場合、最上位フォルダー名が使用されます。

例:

{
    "name": "MyLibrary"
}

version

型: String

プロジェクトの Semver バージョン。NuGet パッケージにも使用されます。

例:

{
    "version": "1.0.0-*"
}

説明

型: String

プロジェクトの詳しい説明。 アセンブリ プロパティで使用されます。

例:

{
    "description": "This is my library and it's really great!"
}

著作権

型: String

プロジェクトの著作権情報。 アセンブリ プロパティで使用されます。

例:

{
    "copyright": "Fabrikam 2016"
}

タイトル

型: String

プロジェクトのわかりやすい名前。スペースを含めることができます。name プロパティの使用時、特殊文字は許可されません。 アセンブリ プロパティで使用されます。

例:

{
    "title": "My Library"
}

entryPoint

型: String

プロジェクトの EntryPoint メソッド。 既定では Main です。

次に例を示します。

{
    "entryPoint": "ADifferentMethod"
}

testRunner

型: String

テスト ランナーの名前。NUnitxUnit など。このプロジェクトで使用されます。 これを設定すると、プロジェクトがテスト プロジェクトとしても設定されます。

例:

{
    "testRunner": "NUnit"
}

作成者

型: String[]

プロジェクトの作成者の名前を含む文字列の配列。

例:

{
    "authors": ["Anne", "Bob"]
}

language

型: String

プロジェクトの言語 (人間語)。 "ニュートラル言語" コンパイラ引数に対応します。

例:

{
    "language": "en-US"
}

embedInteropTypes

型: Boolean

アセンブリに COM 相互運用型を埋め込む場合は true。そうでない場合は false

次に例を示します。

{
    "embedInteropTypes": true
}

preprocess

型: String または String[] とグロビング パターン

プリプロセスに含まれるファイルを指定します。

例:

{
    "preprocess": "compiler/preprocess/**/*.cs"
}

shared

型: String または String[] とグロビング パターン

共有されるファイルを指定します。これがライブラリ エクスポートに使用されます。

例:

{
    "shared": "shared/**/*.cs"
}

依存関係

型: Object

プロジェクトのパッケージ依存関係を定義するオブジェクト。このオブジェクトの各キーがパッケージの名前であり、各値にバージョン情報が含まれています。 詳細については、NuGet ドキュメント サイトの記事「依存解決」を参照してください。

例:

    "dependencies": {
        "System.Reflection.Metadata": "1.3.0",
        "Microsoft.Extensions.JsonParser.Sources": {
          "type": "build",
          "version": "1.0.0-rc2-20221"
        },
        "Microsoft.Extensions.HashCodeCombiner.Sources": {
          "type": "build",
          "version": "1.1.0-alpha1-21456"
        },
        "Microsoft.Extensions.DependencyModel": "1.0.0-*"
    }

version

型: String

依存関係のバージョンまたはバージョン範囲を指定します。 * ワイルドカードを利用し、浮動依存関係バージョンを指定します。

例:

"dependencies": { 
    "Newtonsoft.Json": { 
        "version": "9.0.1" 
    }
}

型: String

依存関係の型を指定します。 defaultbuildplatform のいずれかの値になります。 既定値は default です。

build は開発依存関係として知られ、ビルド時にのみ使用されます。 つまり、出力 .nupkg ファイルの依存関係としてパッケージを公開したり、追加したりするべきではありません。 supressParentall に設定した場合と同じ効果があります。

platform は共有 SDK を参照します。 詳細については、「.NET Core Application Deployment」(.NET Core アプリケーションの展開) トピックの「Deploying a framework-dependent deployment with third-party dependencies」(サードパーティの依存関係を含む、フレームワークに依存する展開を展開する) セクションを参照してください。

次に例を示します。

 "dependencies": {
   "Microsoft.NETCore.App": {
     "type": "platform",
     "version": "1.0.0"
   }
 }

target

型: String

project または package にのみ一致するように依存関係を制約します。

include

型: String

依存関係パッケージの一部を含みます。 allruntimecompilebuildcontentFilesnativeanalyzersnone というフラグの 1 つまたは複数を指定できます。 複数のフラグはコンマ区切りリストで定義されます。 詳細については、NuGet リポジトリの「Managing dependency package assets」 (依存関係パッケージ資産の管理) 仕様を参照してください。

例:

{
  "dependencies": {
    "packageA": {
      "version": "1.0.0",
      "include": "runtime"
    }
  }
}

exclude

型: String

依存関係パッケージの一部を除外します。 allruntimecompilebuildcontentFilesnativeanalyzersnone というフラグの 1 つまたは複数を指定できます。 複数のフラグはコンマ区切りリストで定義されます。 詳細については、NuGet リポジトリの「Managing dependency package assets」 (依存関係パッケージ資産の管理) 仕様を参照してください。

例:

{
  "dependencies": {
    "packageA": {
      "version": "1.0.0",
      "exclude": "contentFiles"
    }
  }
}

supressParent

型: String

プロジェクトのコンシューマーの追加除外を定義します。 allruntimecompilebuildcontentFilesnativeanalyzersnone というフラグの 1 つを指定できます。 詳細については、NuGet リポジトリの「Managing dependency package assets」 (依存関係パッケージ資産の管理) 仕様を参照してください。

{
  "dependencies": {
    "packageA": {
      "version": "1.0.0",
      "suppressParent": "compile"
    }
  }
}

ツール

型: Object

参照としてではなく、現行プロジェクトのツールとして使用されるパッケージ依存関係を定義するオブジェクト。 ここに定義されるパッケージはビルド プロセス中に実行されるスクリプトで利用できますが、プロジェクト自体のコードにはアクセスできません。 ツールにはたとえば、パッキング関連のタスクを実行するコード ジェネレーターやビルド後ツールを含めることができます。

例:

{
    "tools": {
    "MyObfuscator": "1.2.4"
    }
}

スクリプト

型: Object

ビルド プロセス中に実行されるスクリプトを定義するオブジェクト。 このオブジェクトの各キーにより、スクリプトが実行されるビルド内の箇所が特定されます。 各値は、実行するスクリプトを含む文字列か順番に実行されるスクリプトを含む文字列の配列になります。 サポートされているイベント:

  • precompile
  • postcompile
  • prepublish
  • postpublish

例:

{
    "scripts": {
        "precompile": "generateCode.cmd",
        "postcompile": [ "obfuscate.cmd", "removeTempFiles.cmd" ]
    }
}

buildOptions

型: Object

プロパティがコンパイルのさまざまな側面を制御するオブジェクト。 有効なプロパティの一覧が下にあります。 「フレームワーク セクション」の説明のように、ターゲット フレームワークごとに指定することもできます。

例:

    "buildOptions": {
      "allowUnsafe": true,
      "emitEntryPoint": true
    }

define

型: String[]

"DEBUG" や "TRACE" など、コードの条件付きコンパイルで利用できる define の一覧。

例:

{
    "buildOptions": {
        "define": ["TEST", "OTHERCONDITION"]
    }
}

nowarn

型: String[]

無視する警告の一覧。

次に例を示します。

{
    "buildOptions": {
        "nowarn": ["CS0168", "CS0219"]
    }
}

これは警告 The variable 'var' is assigned but its value is never usedThe variable 'var' is assigned but its value is never used を無視します。

additionalArguments

型: String[]

コンパイラに渡される追加引数の一覧。

例:

{
    "buildOptions": {
        "additionalArguments": ["/parallel", "/nostdlib"]
    }
}

warningsAsErrors

型: Boolean

すべての警告をエラーとして扱う場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "warningsAsErrors": true
    }
}

allowUnsafe

型: Boolean

プロパティでアンセーフ コードを許可する場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "allowUnsafe": true
    }
}

emitEntryPoint

型: Boolean

実行可能ファイルを作成する場合は true、ライブラリを生成する場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "emitEntryPoint": true
    }
}

optimize

型: Boolean

このプロジェクトでコンパイラがコードを最適化できるようにする場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "optimize": true
    }
}

platform

型: String

AnyCpu、x86、x64 など、ターゲット プラットフォームの名前。

例:

{
    "buildOptions": {
        "platform": "x64"
    }
}

languageVersion

型: String

コンパイラで使用される言語のバージョン: ISO-1、ISO-2、3、4、5、6、既定値。

例:

{
    "buildOptions": {
        "languageVersion": "5"
    }
}

keyFile

型: String

このアセンブリの署名に使用されるキー ファイルのパス。

例:

{
    "buildOptions": {
        "keyFile": "../keyfile.snk"
    }
}

delaySign

型: Boolean

署名を遅らせる場合は trueそれ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "delaySign": true
    }
}

publicSign

型: Boolean

結果として生成されるアセンブリの署名を有効にする場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "publicSign": true
    }
}

debugType

型: String

生成するシンボル ファイル (PDB ファイル) の種類を示します。 オプションは "portable" (.NET Core プロジェクト) または "full" (従来の Windows 専用 PDB ファイル) です。

例:

{
    "buildOptions": {
        "debugType": "portable"
    }
}

xmlDoc

型: Boolean

ソース コードにあるスラッシュが 3 つのコメントから XML ドキュメントを生成する場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "xmlDoc": true
    }
}

preserveCompilationContext

型: Boolean

参照アセンブリやその他のコンテキスト データを保存し、ランタイム コンパイルを可能にする場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "buildOptions": {
        "preserveCompilationContext": true
    }
}

outputName

型: String

出力ファイルの名前を変更します。

例:

{
    "buildOptions": {
        "outputName": "MyApp"
    }
}

compilerName

型: String

このプロジェクトで使用されるコンパイラの名前。 既定では csc です。 現在のところ、 csc (C# コンパイラ) または fsc (F# コンパイラ) がサポートされています。

例:

{
    "compilerName": "fsc"
}

compile

型: Object

コンパイル構成のプロパティを含むオブジェクト。

include

型: String または String[] とグロビング パターン

ビルドに含めるファイルを指定します。 パターンはプロジェクト フォルダーで root 化されます。 既定値は none (なし) です。

例:

{
    "include":["wwwroot", "Views"]
}

exclude

型: String または String[] とグロビング パターン

ビルドから除外するファイルを指定します。 「除外する」パターンには「含める」パターンより高い優先度が与えられます。そのため、両方に含まれるファイルは除外されます。 パターンはプロジェクト フォルダーで root 化されます。 既定値は none (なし) です。

例:

{
    "exclude": ["bin/**", "obj/**"]
}

includeFiles

型: String または String[] とグロビング パターン

含めるファイル パスの一覧。 パスはプロジェクト フォルダーで root 化されます。 この一覧には、グロビング パターンの「除外する」または「含める」より高い優先度が与えられます。そのため、この一覧にあり、「除外する」グロビング パターンに入っているファイルは含まれます。 既定値は none (なし) です。

例:

{
    "includeFiles": []
}

excludeFiles

型: String または String[] とグロビング パターン

除外するファイル パスの一覧。 パスはプロジェクト フォルダーで root 化されます。 この一覧にはグロビング パターンと「含める」パスより高い優先度が与えられます。そのため、すべてに入っているファイルは除外されます。 既定値は none (なし) です。

例:

{
    "excludeFiles":[],
}

builtIns

型: Object

システムが提供する既定値。 グロビング パターンの includeexclude を与えることができます。これらは include プロパティと exclude プロパティの該当値と結合されます。

例:

{
    "builtIns":{}
}

マップ

型: Object

オブジェクトのキーは、出力レイアウトの宛先パスを表します。

値は、含めるファイルのソース パスを表す文字列またはオブジェクトになります。 オブジェクトで表すときは、独自の includeexcludeincludeFilesexcludeFiles セクションを与えることができます。

文字列の例:

{
    "mappings": {
        "dest/path": "./src/path"
    }
}

オブジェクトの例:

{
    "mappings": {
        "dest/path":{
            "include":"./src/path"
        }
    }
}

embed

型: Object

コンパイル構成のプロパティを含むオブジェクト。

include

型: String または String[] とグロビング パターン

{
    "include":["wwwroot", "Views"]
}

exclude

型: String または String[] とグロビング パターン

ビルドから除外するファイルを指定します。

例:

{
    "exclude": ["bin/**", "obj/**"]
}

includeFiles

型: String または String[] とグロビング パターン

{
    "includeFiles":[],
}

excludeFiles

型: String または String[] とグロビング パターン

{
    "excludeFiles":[],
}

builtIns

型: Object

{
    "builtIns":{}
}

マップ

型: Object

オブジェクトのキーは、出力レイアウトの宛先パスを表します。

値は、含めるファイルのソース パスを表す文字列またはオブジェクトになります。 オブジェクトで表すときは、独自の includeexcludeincludeFilesexcludeFiles セクションを与えることができます。

文字列の例:

{
    "mappings": {
        "dest/path": "./src/path"
    }
}

オブジェクトの例:

{
    "mappings": {
        "dest/path":{
            "include":"./src/path"
        }
    }
}

copyToOutput

型: Object

コンパイル構成のプロパティを含むオブジェクト。

include

型: String または String[] とグロビング パターン

{
    "include":["wwwroot", "Views"]
}

exclude

型: String または String[] とグロビング パターン

ビルドから除外するファイルを指定します。

例:

{
    "exclude": ["bin/**", "obj/**"]
}

includeFiles

型: String または String[] とグロビング パターン

{
    "includeFiles":[],
}

excludeFiles

型: String または String[] とグロビング パターン

{
    "excludeFiles":[],
}

builtIns

型: Object

{
    "builtIns":{}
}

マップ

型: Object

オブジェクトのキーは、出力レイアウトの宛先パスを表します。

値は、含めるファイルのソース パスを表す文字列またはオブジェクトになります。 オブジェクトで表すときは、独自の includeexcludeincludeFilesexcludeFiles セクションを与えることができます。

文字列の例:

{
    "mappings": {
        "dest/path": "./src/path"
    }
}

オブジェクトの例:

{
    "mappings": {
        "dest/path":{
            "include":"./src/path"
        }
    }
}

publishOptions

型: Object

コンパイル構成のプロパティを含むオブジェクト。

include

型: String または String[] とグロビング パターン

{
    "include":["wwwroot", "Views"]
}

exclude

型: String または String[] とグロビング パターン

ビルドから除外するファイルを指定します。

例:

{
    "exclude": ["bin/**", "obj/**"]
}

includeFiles

型: String または String[] とグロビング パターン

{
    "includeFiles":[],
}

excludeFiles

型: String または String[] とグロビング パターン

{
    "excludeFiles":[],
}

builtIns

型: Object

{
    "builtIns":{}
}

マップ

型: Object

オブジェクトのキーは、出力レイアウトの宛先パスを表します。

値は、含めるファイルのソース パスを表す文字列またはオブジェクトになります。 オブジェクトで表すときは、独自の includeexcludeincludeFilesexcludeFiles セクションを与えることができます。

文字列の例:

{
    "mappings": {
        "dest/file": "./src/file",
        "dest/folder/": "./src/folder/**/*"
    }
}

オブジェクトの例:

{
    "mappings": {
        "dest/file":{
            "include":"./src/file"
        },
        "dest/folder/":{
            "include":"./src/folder/**/*"
        }
    }
}

runtimeOptions

型: Object

初期化中にランタイムに与えるパラメーターを指定します。

configProperties

型: Object

ランタイムとフレームワークを構成する構成プロパティが含まれます。

System.GC.Server

型: Boolean

サーバーのガベージ コレクションを有効にする場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "runtimeOptions": {
        "configProperties": {
            "System.GC.Server": true
        }
    }
}

System.GC.Concurrent

型: Boolean

同時実行ガベージ コレクションを有効にする場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "runtimeOptions": {
        "configProperties": {
            "System.GC.Concurrent": true
        }
    }
}

System.GC.RetainVM

型: Boolean

削除するべきセグメントを解放してオペレーティング システム (OS) に戻さず、今後使用するために待機リストに配置する場合は true、それ以外の場合は false。 既定値は、false です。

例:

{
    "runtimeOptions": {
        "configProperties": {
            "System.GC.RetainVM": true
        }
    }
}

System.Threading.ThreadPool.MinThreads

型: Integer

ThreadPool worker プールの最小スレッド数を上書きします。

{
    "runtimeOptions": {
        "configProperties": {
            "System.Threading.ThreadPool.MinThreads": 4
        }
    }
}

System.Threading.ThreadPool.MaxThreads

型: Integer

ThreadPool worker プールの最大スレッド数を上書きします。

{
    "runtimeOptions": {
        "configProperties": {
            "System.Threading.ThreadPool.MaxThreads": 25
        }
    }
}

フレームワーク

型: Object

アプリケーションの有効化時に使用する共有フレームワーク プロパティが含まれます。 このセクションが存在することは、アプリケーションが共有の再頒布可能フレームワークを使用するように設計された携帯アプリであることを示します。

name

型: String

共有フレームワークの名前。

{
    "runtimeOptions": {
        "framework": {
            "name": "Microsoft.DotNetCore"
        }
    }
}

version

型: String

共有フレームワークのバージョン。

{
    "runtimeOptions": {
        "framework": {
            "version": "1.0.1"
        }
    }
}

applyPatches

型: Boolean

true では、SemVer パッチ フィールドでのみ異なる、バージョンが同じかそれより上のフレームワークを使用します。 false の場合、ホストで正確なフレームワーク バージョンのみが使用されます。 既定値は、true です。

{
    "runtimeOptions": {
        "applyPatches": false
    }
}

packOptions

型: Object

NuGet パッケージに出力されるプロジェクトのパッケージングに関連するオプションを定義します。

概要

型: String

プロジェクトの簡単な説明。

例:

{
    "packOptions": {
        "summary": "This is my library."
    }
}

タグ

型: String[]

NuGet の検索に使用されるプロジェクトのタグを含む文字列の配列。

例:

{
    "packOptions": {
        "tags": ["hyperscale", "cats"]
    }
}

owners

型: String[]

プロジェクトの所有者の名前を含む文字列の配列。

例:

{
    "packOptions": {
        "owners": ["Fabrikam", "Microsoft"]
    }
}

releaseNotes

型: String

プロジェクトのリリース ノート。

例:

{
    "packOptions": {
        "releaseNotes": "Initial version, implemented flimflams."
    }
}

iconUrl

型: String

パッケージ エクスプローラーなど、さまざまな場所で使用されるアイコンの URL。

例:

{
    "packOptions": {
        "iconUrl": "http://www.mylibrary.gov/favicon.ico"
    }
}

projectUrl

型: String

プロジェクトのホームページの URL。

例:

{
    "packOptions": {
        "projectUrl": "http://www.mylibrary.gov"
    }
}

licenseUrl

型: String

プロジェクトで使用されるライセンスの URL。

例:

{
    "packOptions": {
        "licenseUrl": "http://www.mylibrary.gov/licence"
    }
}

requireLicenseAcceptance

型: Boolean

パッケージをインストールしたとき、パッケージの使用許諾に同意を求めるメッセージを表示する場合は true、それ以外の場合は false。 NuGet パッケージでのみ利用されます。その以外の場合は無視されます。 既定値は、false です。

例:

{
    "packOptions": {
        "requireLicenseAcceptance": true
    }
}

リポジトリ

型: Object

プロジェクトが保存されているリポジトリに関する情報が含まれます。

型: String

リポジトリの種類。 既定値は "git" です。

例:

{
    "packOptions": {
        "repository": {
            "type": "git"
        }
    }
}

url

型: String

プロジェクトが保存されているリポジトリの URL。

例:

{
    "packOptions": {
        "repository": {
            "url": "http://github.com/dotnet/corefx"
        }
    }
}

ファイル

型: Object

include

型: String または String[] とグロビング パターン

{
    "include":["wwwroot", "Views"]
}

exclude

型: String または String[] とグロビング パターン

ビルドから除外するファイルを指定します。

例:

{
    "exclude": ["bin/**", "obj/**"]
}

includeFiles

型: String または String[] とグロビング パターン

{
    "includeFiles":[]
}

excludeFiles

型: String または String[] とグロビング パターン

{
    "excludeFiles":[]
}

builtIns

型: Object

{
    "builtIns":{}
}

マップ

型: Object

オブジェクトのキーは、出力レイアウトの宛先パスを表します。

値は、含めるファイルのソース パスを表す文字列またはオブジェクトになります。 オブジェクトで表すときは、独自の includeexcludeincludeFilesexcludeFiles セクションを与えることができます。

文字列の例:

{
    "mappings": {
        "dest/path": "./src/path"
    }
}

オブジェクトの例:

{
    "mappings": {
        "dest/path":{
            "include":"./src/path"
        }
    }
}

analyzerOptions

型: Object

コード アナライザーで使用されるプロパティを含むオブジェクト。

例:

{
    "analyzerOptions": { }
}

languageId

型: String

解析する言語の ID。 "cs" は C# を表し、"vb" は Visual Basic を表し、"fs" は F# を表します。

例:

"analyzerOptions": {
    "languageId": "vb"
}

構成

型: Object

Debug や Release など、プロパティがこのプロジェクトのさまざまな構成を定義するオブジェクト。 各値は、この構成に固有のオプションを含む buildOptions オブジェクトを含めることができるオブジェクトです。

例:

"configurations": {
    "Release": {
        "buildOptions": {
            "allowUnsafe": false
        }
    }
}

frameworks

型: Object

.NET Framework や Universal Windows Platform (UWP) など、このプロジェクトでサポートされるフレームワークを指定します。 有効なターゲット フレームワーク モニカー (TFM) にする必要があります。 各値は、後続セクションのプロパティの他に、buildOptionsanalyzerOptionsdependencies など、このフレームワークに固有の情報を含めることができるオブジェクトです。

例:

"frameworks": {
    "netcoreapp1.0": {
        "buildOptions": {
            "define": ["FOO", "BIZ"]
        }
    }
}

依存関係

型: Object

このフレームワークに固有の依存関係。 これは、すべてのターゲットをまたいでパッケージ レベルの依存関係を指定できないシナリオで便利です。 あるターゲットでは他のターゲットに与えられているビルトイン サポートがないこと、他のターゲットとは異なるバージョンの依存関係が要求されることなどがその理由です。 このノードの他のプロパティの一覧を確認するには、先の「依存関係」セクションを参照してください。

例:

    "frameworks": {
        "netstandard1.5": {
        "dependencies": {
            "Microsoft.Extensions.JsonParser.Sources": "1.0.0-rc2-20221"
        }
    }
}

frameworkAssemblies

型: Object

依存関係と似ていますが、NuGet パッケージではない GAC のアセンブリの参照が含まれます。 依存関係の種類の他、使用するバージョンも指定できます。 .NET Framework やポータブル クラス ライブラリ (PCL) ターゲットをターゲットにするときに使用されます。 Windows では、これが指定されたプロジェクトのみをビルドできます。

例:

"frameworks": {
    "net451": {
        "frameworkAssemblies": {
            "System.Runtime": {
                "type": "build",
                "version": "4.0.0"
            }
        }
    }
}

wrappedProject

型: String

依存関係プロジェクトの場所を指定します。

例:

"frameworks": {
    "net451": {
        "wrappedProject": "MyProject.csproj"
    }
}

bin

型: Object

DLL ファイルをラップするために使用されます。 この DLL を含むパッケージを参照し、生成できます。

値がアセンブリ パスである String プロパティ、assembly が 1 つ含まれます。

例:

"frameworks": {
    "netcoreapp1.0": {
        "bin": {
            "assembly": "c:/otherProject/otherdll.dll"
        }
    }
}

runtimes

型: Object

(自己完結型の展開で使用される) プロジェクトでサポートされるランタイム ID (RID) の一覧。

例:

"runtimes": {
    "win7-x64": {},
    "win8-x64": {},
    "win81-x64": {},
    "win10-x64": {},
    "osx.10.11-x64": {},
    "ubuntu.16.04-x64": {}
}

userSecretsId

型: String

開発時に使用されるユーザー シークレット ID を指定します。 詳細については、「Safe storage of app secrets during development」 (開発中のアプリ シークレットの安全な保存) を参照してください。

例:

{
    "userSecretsId": "aspnet-WebApp1-c23d27a4-eb88-4b18-9b77-2a93f3b15119"
}