Schema URL

Type: object

Properties

authors string[]

The author of the application.

uniqueItems=true
packInclude object

[Deprecated] Pairs of destination folders and glob patterns specifying additional files to include in the output NuGet package. (data type: JSON map). Example: { "tools/": "tools/**/." }. Use 'files' in 'packOptions' instead.

publishExclude string | array

[Deprecated] Glob pattern to specify files to exclude from publish output. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'publishOptions' instead.

Default:
[
  "obj/**/*.*",
  "bin/**/*.*",
  "**/.*/**"
]
compile string | array

[Deprecated] Glob pattern to specify files to compile. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'compile' in 'buildOptions' instead.

Default: "**/*.cs"
compileExclude string | array

[Deprecated] Glob pattern to specify files to exclude from compilation. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'compile' in 'buildOptions' instead.

compileFiles string | array

[Deprecated] Files to include in compilation (overrides 'compileExclude'). (data type: string or array). Example: [ "Folder1/File1.ext", "Folder2/File2.ext" ]. Use 'compile' in 'buildOptions' instead.

content string | array

[Deprecated] Glob pattern to specify files to include as content. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'publishOptions' to publish or 'copyToOutput' in 'buildOptions' to copy to build output instead.

Default: "**/*"
contentExclude string | array

[Deprecated] Glob pattern to specify files to exclude from the content list. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'publishOptions' to publish or 'copyToOutput' in 'buildOptions' to copy to build output instead.

contentFiles string | array

[Deprecated] Files to include as content (overrides 'contentExclude'). (data type: string or array). Example: [ "Folder1/File1.ext", "Folder2/File2.ext" ]. Use 'publishOptions' to publish or 'copyToOutput' in 'buildOptions' to copy to build output instead.

preprocess string | array

Glob pattern to specify files to use for preprocessing. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]

Default: "compiler/preprocess/**/*.cs"
preprocessExclude string | array

Glob pattern to specify files to exclude from use for preprocessing. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]

preprocessFiles string | array

Files to include to use for preprocessing (overrides 'preprocessExclude'). (data type: string or array). Example: [ "Folder1/File1.ext", "Folder2/File2.ext" ]

resource string | array

[Deprecated] Glob pattern to specify files to include as resources. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'embed' in 'buildOptions' instead.

Default:
[
  "compiler/resources/**/*",
  "**/*.resx"
]
resourceExclude string | array

[Deprecated] Glob pattern to specify files to exclude from the resources list. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'embed' in 'buildOptions' instead.

resourceFiles string | array

[Deprecated] Files to include as resources (overrides 'resourceExclude'). (data type: string or array). Example: [ "Folder1/File1.ext", "Folder2/File2.ext" ]. Use 'embed' in 'buildOptions' instead.

shared string | array

Glob pattern to specify files to share with dependent projects. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]

Default: "compiler/shared/**/*.cs"
sharedExclude string | array

Glob pattern to specify files to exclude from sharing with dependent projects. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]

sharedFiles string | array

Files to include for sharing with dependent projects (overrides 'sharedExclude'). (data type: string or array). Example: [ "Folder1/File1.ext", "Folder2/File2.ext" ]

exclude string | array

[Deprecated] Glob pattern to indicate files to exclude from other glob patterns, in addition to the default patterns specified in 'excludeBuiltIn'. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'exclude' within 'compile' or 'embed' instead.

excludeBuiltIn string | array

[Deprecated] Default glob pattern to indicate files to exclude from other glob patterns. (data type: string or array with glob pattern(s)). Example: [ "Folder1/.ext", "Folder2/.ext" ]. Use 'exclude' within 'compile' or 'embed' instead.

Default:
[
  "bin/**",
  "obj/**",
  "**/*.xproj"
]
testRunner string

The name of the test runner to use with this project

commands Record<string, string>
compilationOptions object

[Deprecated] Options that are passed to the compiler. Use 'buildOptions' instead.

14 nested properties
define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation

outputName string
buildOptions object

Options that are passed to the compiler.

20 nested properties
define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation.

outputName string
compilerName string
Default: "csc"
compile string | array | object

Defines glob patterns and file path to include for compilation.

6 nested properties
include string | array

List of file globbing patterns to be included.

exclude string | array

List of file globbing patterns to be excluded.

includeFiles string | array

List of file paths to be included.

excludeFiles string | array

List of file paths to be excluded.

builtIns string | array | object
2 nested properties
include string | array

List of file globbing patterns to be included.

exclude string | array

List of file globbing patterns to be included.

mappings object

Pairs of destination folders and glob patterns specifying additional files to include/exclude.

embed
All of: compile string | array | object, variant
copyToOutput
All of: compile string | array | object, variant
xmlDoc boolean
additionalArguments string[]
packOptions object

Defines options pertaining to the packaging of the project output into a NuGet package.

9 nested properties
summary string

A short description of the package.

tags string[]

A space-delimited list of tags and keywords that describe the package.

uniqueItems=true
owners string[]

List of owners of the package.

uniqueItems=true
releaseNotes string

A description of the changes made in each release of the package.

iconUrl string

A URL for the image to use as the icon for the package. This should be a 32x32-pixel .png file that has a transparent background.

licenseUrl string

A link to the license for the package.

requireLicenseAcceptance boolean

A Boolean value that specifies whether the client needs to ensure that the package license (described by licenseUrl) is accepted before the package is installed.

Default: false
repository Record<string, string>

Contains information about the repository where the project is stored.

2 nested properties
type string
Default: "git"
Values: "git"
url string
format=uri
files
All of: compile string | array | object, variant
runtimeOptions object
1 nested properties
configProperties object
12 nested properties
System.GC.Server boolean

Enables/disables server garbage collection.

Default: false
System.GC.Concurrent boolean

Enables/disables concurrent garbage collection.

Default: true
System.GC.HeapCount integer

Limits the number of heaps created by the garbage collector.

min=0
System.GC.HeapAffinitizeMask integer

Specifies the exact processors that garbage collector threads should use.

min=0
System.GC.GCHeapAffinitizeRanges string

Specifies the list of processors to use for garbage collector threads.

minLength=1
System.GC.NoAffinitize boolean

Specifies whether to affinitize garbage collection threads with processors. To affinitize a GC thread means that it can only run on its specific CPU. A heap is created for each GC thread.

Default: false
System.GC.HeapHardLimit string

Specifies the maximum commit size, in bytes, for the GC heap and GC bookkeeping.

System.GC.HeapHardLimitPercent number

Specifies the GC heap usage as a percentage of the total memory.

System.GC.RetainVM boolean

Configures whether segments that should be deleted are put on a standby list for future use or are released back to the operating system (OS).

Default: false
System.GC.LOHThreshold integer

Specifies the threshold size, in bytes, that causes objects to go on the large object heap (LOH).

Default: 85000
System.Threading.ThreadPool.MinThreads integer

Sets the minimum number of threads for the thread pool.

min=1
System.Threading.ThreadPool.MaxThreads integer

Sets the maximum number of threads for the thread pool.

min=1
publishOptions
All of: compile string | array | object, variant
configurations Record<string, object>

Configurations are named groups of compilation settings. There are two defaults built into the runtime: 'Debug' and 'Release'.

dependencies Record<string, string | object>

Each dependency is defined by a name and a version. Dependencies are resolved from NuGet feeds defined by your package sources and projects located in the directories specified by the 'global.json' file.

iconUrl string

[Deprecated] A URL for the image to use as the icon for the package. This should be a 32x32-pixel .png file that has a transparent background. Use this in 'packOptions' instead.

licenseUrl string

[Deprecated] A link to the license for the package. Use this in 'packOptions' instead.

requireLicenseAcceptance boolean

[Deprecated] A Boolean value that specifies whether the client needs to ensure that the package license (described by licenseUrl) is accepted before the package is installed. Use this in 'packOptions' instead.

Default: false
owners string[]

[Deprecated] List of owners of the package. Use this in 'packOptions' instead.

uniqueItems=true
projectUrl string

A URL for the home page of the package.

summary string

[Deprecated] A short description of the package. Use this in 'packOptions' instead.

tags string[]

[Deprecated] A space-delimited list of tags and keywords that describe the package. Use this in 'packOptions' instead.

uniqueItems=true
title string

The human-friendly title of the package

releaseNotes string

[Deprecated] A description of the changes made in each release of the package. Use this in 'packOptions' instead.

language string

The locale ID for the package, such as en-us.

description string

The description of the project/package.

frameworks Record<string, object>

Target frameworks that will be built, and dependencies that are specific to the build of this project for that framework.

namedResource Record<string, string>

Overrides the generated resource names with custom ones.

repository Record<string, string>

[Deprecated] Contains information about the repository where the project is stored. Use this in 'packOptions' instead.

2 nested properties
type string
Default: "git"
Values: "git"
url string
format=uri
scripts object

Scripts to execute during the various stages.

9 nested properties
precompile string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

postcompile string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

prepack string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

postpack string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

prepublish string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

postpublish string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

prerestore string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

postrestore string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

prepare string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version

version string

The version of the project/package. Examples: 1.2.3, 1.2.3-beta, 1.2.3-*

tools Record<string, string | object>

Project-specific command line tools accessible when in the project.json directory.

runtimes object

List of runtime identifiers supported by this project (used when building standalone applications).

Definitions

compilationOptions object

[Deprecated] Options that are passed to the compiler. Use 'buildOptions' instead.

define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation

outputName string
buildOptions object

Options that are passed to the compiler.

define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation.

outputName string
compilerName string
Default: "csc"
compile string | array | object

Defines glob patterns and file path to include for compilation.

6 nested properties
include string | array

List of file globbing patterns to be included.

exclude string | array

List of file globbing patterns to be excluded.

includeFiles string | array

List of file paths to be included.

excludeFiles string | array

List of file paths to be excluded.

builtIns string | array | object
2 nested properties
include string | array

List of file globbing patterns to be included.

exclude string | array

List of file globbing patterns to be included.

mappings object

Pairs of destination folders and glob patterns specifying additional files to include/exclude.

embed
All of: compile string | array | object, variant
copyToOutput
All of: compile string | array | object, variant
xmlDoc boolean
additionalArguments string[]
runtimeOptions object
configProperties object
12 nested properties
System.GC.Server boolean

Enables/disables server garbage collection.

Default: false
System.GC.Concurrent boolean

Enables/disables concurrent garbage collection.

Default: true
System.GC.HeapCount integer

Limits the number of heaps created by the garbage collector.

min=0
System.GC.HeapAffinitizeMask integer

Specifies the exact processors that garbage collector threads should use.

min=0
System.GC.GCHeapAffinitizeRanges string

Specifies the list of processors to use for garbage collector threads.

minLength=1
System.GC.NoAffinitize boolean

Specifies whether to affinitize garbage collection threads with processors. To affinitize a GC thread means that it can only run on its specific CPU. A heap is created for each GC thread.

Default: false
System.GC.HeapHardLimit string

Specifies the maximum commit size, in bytes, for the GC heap and GC bookkeeping.

System.GC.HeapHardLimitPercent number

Specifies the GC heap usage as a percentage of the total memory.

System.GC.RetainVM boolean

Configures whether segments that should be deleted are put on a standby list for future use or are released back to the operating system (OS).

Default: false
System.GC.LOHThreshold integer

Specifies the threshold size, in bytes, that causes objects to go on the large object heap (LOH).

Default: 85000
System.Threading.ThreadPool.MinThreads integer

Sets the minimum number of threads for the thread pool.

min=1
System.Threading.ThreadPool.MaxThreads integer

Sets the maximum number of threads for the thread pool.

min=1
packOptions object

Defines options pertaining to the packaging of the project output into a NuGet package.

summary string

A short description of the package.

tags string[]

A space-delimited list of tags and keywords that describe the package.

uniqueItems=true
owners string[]

List of owners of the package.

uniqueItems=true
releaseNotes string

A description of the changes made in each release of the package.

iconUrl string

A URL for the image to use as the icon for the package. This should be a 32x32-pixel .png file that has a transparent background.

licenseUrl string

A link to the license for the package.

requireLicenseAcceptance boolean

A Boolean value that specifies whether the client needs to ensure that the package license (described by licenseUrl) is accepted before the package is installed.

Default: false
repository Record<string, string>

Contains information about the repository where the project is stored.

2 nested properties
type string
Default: "git"
Values: "git"
url string
format=uri
files
All of: compile string | array | object, variant
publishOptions
configType object
dependencies Record<string, string | object>

Each dependency is defined by a name and a version. Dependencies are resolved from NuGet feeds defined by your package sources and projects located in the directories specified by the 'global.json' file.

compilationOptions object

[Deprecated] Options that are passed to the compiler. Use 'buildOptions' instead.

14 nested properties
define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation

outputName string
buildOptions object

Options that are passed to the compiler.

20 nested properties
define string[]
uniqueItems=true
nowarn string[]
uniqueItems=true
warningsAsErrors boolean
Default: false
allowUnsafe boolean
Default: false
emitEntryPoint boolean
Default: false
optimize boolean
Default: false
platform string
Values: "anycpu" "anycpu32bitpreferred" "ARM" "x86" "x64" "Itanium"
languageVersion string
Values: "csharp1" "csharp2" "csharp3" "csharp4" "csharp5" "csharp6" "experimental"
keyFile string
delaySign boolean
Default: false
publicSign boolean
Default: false
debugType string
Values: "portable" "full" "none"
preserveCompilationContext boolean

Set this option to preserve reference assemblies and other context data to allow for runtime compilation.

outputName string
compilerName string
Default: "csc"
compile string | array | object

Defines glob patterns and file path to include for compilation.

6 nested properties
include string | array

List of file globbing patterns to be included.

exclude string | array

List of file globbing patterns to be excluded.

includeFiles string | array

List of file paths to be included.

excludeFiles string | array

List of file paths to be excluded.

builtIns string | array | object
mappings object

Pairs of destination folders and glob patterns specifying additional files to include/exclude.

embed
All of: compile string | array | object, variant
copyToOutput
All of: compile string | array | object, variant
xmlDoc boolean
additionalArguments string[]
frameworkAssemblies Record<string, string | object>

Each dependency is defined by a name and a version. Dependencies are resolved from NuGet feeds defined by your package sources and projects located in the directories specified by the 'global.json' file.

imports string | array

Allow packages supporting these frameworks to be installed in this target, regardless of the compatibility rules.

libraryIncludeFlag string
libraryIncludeFlags libraryIncludeFlag | libraryIncludeFlag[]
dependencies Record<string, string | object>

Each dependency is defined by a name and a version. Dependencies are resolved from NuGet feeds defined by your package sources and projects located in the directories specified by the 'global.json' file.

script string | array

A command line script or scripts.

Available variables: %project:Directory% - The project directory %project:Name% - The project name %project:Version% - The project version