diff --git a/Directory.Build.props b/Directory.Build.props index 4a8c44efd..f14cc0b04 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,7 +29,9 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj true true - netcoreapp2.1 + netcoreapp2.2 + + 2.2 diff --git a/Documentation/specs/runtime-configuration-file.md b/Documentation/specs/runtime-configuration-file.md index b021f9358..d70c100fb 100644 --- a/Documentation/specs/runtime-configuration-file.md +++ b/Documentation/specs/runtime-configuration-file.md @@ -2,43 +2,42 @@ The runtime configuration files store the dependencies of an application (formerly stored in the `.deps` file). They also include runtime configuration options, such as the Garbage Collector mode. Optionally they can also include data for runtime compilation (compilation settings used to compile the original application, and reference assemblies used by the application). -**Note:** This document doesn't provide full explanations as to why individual items are needed in this file. That is covered in the [`corehost` spec](corehost.md) and via the `Microsoft.Extensions.DependencyModel` assembly. +**Note:** This document doesn't provide full explanations as to why individual items are needed in this file. That is covered in the [host spec](corehost.md) and via the `Microsoft.Extensions.DependencyModel` assembly. ## What produces the files and where are they? There are two runtime configuration files for a particular application. Given a project named `MyApp`, the compilation process produces the following files (on Windows, other platforms are similar): * `MyApp.dll` - The managed assembly for `MyApp`, including an ECMA-compliant entry point token. -* `MyApp.exe` - A copy of the `corehost.exe` executable. Only present when the application is a self-contained application. -* `MyApp.runtimeconfig.json` - An **optional** configuration file containing runtime configuration settings. This file is required for portable applications, but not for self-contained apps. -* `MyApp.deps.json` - A list of dependencies, as well as compilation context data and compilation dependencies. Not technically required, but required to use the servicing or package cache/shared package install features. +* `MyApp.exe` - A copy of the `apphost.exe` executable. This is present when the application is self-contained, and in newer functionality (2.1.0+) for framework-dependent applications that wish to support platform-specific (non-portable) executables. +* `MyApp.runtimeconfig.json` - An **optional** configuration file containing runtime configuration settings. This file is required for framework-dependent applications, but not for self-contained apps. +* `MyApp.runtimeconfig.dev.json` - An **optional** configuration file containing runtime configuration settings that typically only exists in a non-published output and thus is used for development-time scenarios. This file typically specifies additional probing paths. Depending on the semantics of each setting, the setting is either combined with or overridden by the values from `MyApp.runtimeconfig.json`. +* `MyApp.deps.json` - A list of dependencies, compilation dependencies and version information used to address assembly conflicts. Not technically required, but required to use the servicing or package cache/shared package install features, and to assist during roll-forward scenarios to select the newest version of any assembly that exists more than once in the application and framework(s). If the file is not present, all assemblies in the current folder are used instead. The `MyApp.runtimeconfig.json` is designed to be user-editable (in the case of an app consumer wanting to change various CLR runtime options for an app, much like the `MyApp.exe.config` XML file works in .NET 4.x today). However, the `MyApp.deps.json` file is designed to be processed by automated tools and should not be user-edited. Having the files as separate makes this clearer. We could use a different format for the deps file, but if we're already integrating a JSON parser into the host, it seems most appropriate to re-use that here. Also, there are diagnostic benefits to being able to read the `.deps.json` file in a simple text editor. -**IMPORTANT**: Portable Applications, i.e. those published without a specific RID, have some adjustments to this spec which is covered at the end. +**IMPORTANT**: Framework-dependent applications have some adjustments to this spec which are covered at the end. ## File format -The files are both JSON files stored in UTF-8 encoding. Below are sample files. Note that not all sections are required and some will be opt-in only (see below for more details). The `.runtimeconfig.json` file is completely optional, and in the `.deps.json` file, only the `runtimeTarget`, `targets` and `libraries` sections are required (and within the `targets` section, only the runtime-specific target is required). +The files are both JSON files stored in UTF-8 encoding. Below are sample files. Note that not all sections are required and some will be opt-in only (see below for more details). The `.runtimeconfig.json` file is completely optional, and in the `.deps.json` file, only the `runtimeTarget`, `targets` and `libraries` sections are required (and within the `targets` section, only the runtime-specific target is required). If no `.deps.json` exists, all assemblies local to the app will be added as TPA (trusted platform assemblies). ### [appname].runtimeconfig.json ```json { "runtimeOptions": { - "configProperties": { "System.GC.Server": true, "System.GC.Concurrent": true, "System.Threading.ThreadPool.MinThreads": 4, "System.Threading.ThreadPool.MaxThreads": 8 }, - "framework": { - "name": "Microsoft.DotNetCore", - "version": "1.0.1" + "name": "Microsoft.NETCore.App", + "version": "2.1.0" }, - - "applyPatches": false + "applyPatches": true, + "rollForwardOnNoCandidateFx": 1 } } ``` @@ -46,75 +45,71 @@ The files are both JSON files stored in UTF-8 encoding. Below are sample files. ### [appname].deps.json ```json { - "runtimeTarget": ".NETStandardApp,Version=v1.5/osx.10.10-x64", - "compilationOptions": { - "defines": [ "DEBUG" ] - }, - "targets": { - ".NETStandardApp,Version=v1.5": { - "MyApp/1.0": { - "type": "project", - "dependencies": { - "AspNet.Mvc": "1.0.0" - } - }, - "System.Foo/1.0.0": { - "type": "package", - }, - "System.Banana/1.0.0": { - "type": "package", - "dependencies": { - "System.Foo": "1.0.0" - }, - "compile": { - "ref/dotnet5.4/System.Banana.dll": { } - } - } + "runtimeTarget": { + "name": ".NETCoreApp,Version=v2.0", + "signature": "aafc507050a6c13a0cf2d6d4c3de136e6571da6e" + }, + "compilationOptions": { + "defines": [ + "TRACE", + "DEBUG" + ], + "languageVersion": "", + "platform": "", + "warningsAsErrors": false, + }, + "targets": { + ".NETCoreApp,Version=v2.0": { + "MyApp/1.0.0": { + "dependencies": { + "System.Banana": "1.0.0" }, - ".NETStandardApp,Version=v1.5/osx.10.10-x64": { - "MyApp/1.0": { - "type": "project", - "dependencies": { - "AspNet.Mvc": "1.0.0" - } - }, - "System.Foo/1.0.0": { - "type": "package", - "runtime": { - "lib/dnxcore50/System.Foo.dll": { } - } - }, - "System.Banana/1.0.0": { - "type": "package", - "dependencies": { - "System.Foo": "1.0.0" - }, - "runtime": { - "lib/dnxcore50/System.Banana.dll": { } - }, - "resources": { - "lib/dnxcore50/fr-FR/System.Banana.resources.dll": { "locale": "fr-FR" } - }, - "native": { - "runtimes/osx.10.10-x64/native/libbananahelper.dylib": { } - } - } + "runtime": { + "MyApp.dll": {} } - }, - "libraries": { - "MyApp/1.0": { - "type": "project" + }, + "System.Banana/1.0.0": { + "dependencies": { + "System.Foo": "1.0.0" }, - "System.Foo/1.0": { - "type": "package", - "serviceable": true, - "sha512": "[base64 string]" - }, - "System.Banana/1.0": { - "type": "package", - "sha512": "[base64 string]" + "runtime": { + "lib/netcoreapp2.0/System.Banana.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } } + }, + "System.Foo/1.0.0": { + "runtime": { + "lib/netcoreapp2.0/System.Foo.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } } + }, + "libraries": { + "MyApp/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "System.Banana/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C63ok7q+Fi6O6I/WB4ut3hFibGSraUlE461LxhhwNk5Vcdl4ijDhX1QDupDdp3Cxr7TgwB55Sd4zNtlwT7ksAA==", + "path": "system.banana/1.0.0", + "hashPath": "system.banana.1.0.0.nupkg.sha512" + }, + "System.Foo/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-avYGOiBQ4U/fJfzEDF7lzPLhk/w6P9/28y0iiQh3AxlWOheuZTgXA/pzuORuAu/s5B2bXHO2BlvQKZN0PfQ2HQ==", + "path": "system.foo/1.0.0", + "hashPath": "system.foo.1.0.0.nupkg.sha512" + } + } } ``` @@ -122,71 +117,29 @@ The files are both JSON files stored in UTF-8 encoding. Below are sample files. ### `runtimeOptions` Section (`.runtimeconfig.json`) -This section is copied verbatim from an identical section in the input `project.json` file (with the exception of the `target` parameter which is generated by the compilation process). The `runtimeConfig` section specifies parameters to be provided to the runtime during initialization. Known parameters include: +This section is created when building a project. Settings include: * `configProperties` - Indicates configuration properties to configure the runtime and the framework * Examples: * Full list of [configuration properties](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/clr-configuration-knobs.md) for CoreCLR. * `System.GC.Server` (old: `gcServer`) - Boolean indicating if the server GC should be used (Default: `true`). * `System.GC.Concurrent` (old: `gcConcurrent`) - Boolean indicating if background garbage collection should be used. -* `framework` - Indicates the `name`, `version`, and other properties of the shared framework to use when activating the application. The presence of this section indicates that the application is a portable app designed to use a shared redistributable framework. -* `applyPatches` - When `false`, the framework version is strictly obeyed by the host. When `applyPatches` is unspecified or specified as `true`, the framework from either the same or a higher version that differs only in the `SemVer` patch field will be used. +* `framework` - Indicates the `name`, `version`, and other properties of the shared framework to use when activating the application including `applyPathes` and `rollForwardOnNoCandidateFx`. The presence of this section indicates that the application is a framework-dependent app. +* `applyPatches` - When `false`, the framework version is strictly obeyed by the host. When `applyPatches` is unspecified or `true`, the framework from either the same or a higher version that differs only by the patch field will be used. * For example, if `version=1.0.1` and `applyPatches` is `true`, the host would load the shared framework from `1.0.{n}`, where `n >= 1`, but will not load from `1.1.0`, even if present. When `applyPatches` is `false`, the shared framework will be loaded from `1.0.1` strictly. - * **Note:** This does not apply to `SemVer`'s `prerelease` versions, but only for `production` releases. - * **Note:** This section will not be used for standalone applications that do not rely upon a shared framework. + * **Note:** This does not apply to `pre-release` versions; it applies only to `production` releases. + * **Note:** This section should not exist self-contained applications because they do not rely upon a shared framework. +* `rollForwardOnNoCandidateFx` - Determines roll-forward behavior of major and minor. Only applies to `production` releases. Values: 0(Off), 1 (roll forward on [minor]), 2 (Roll forward on [major] and [minor]) + See [roll-forward-on-no-candidate documentation](https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/roll-forward-on-no-candidate-fx.md) for more information. -* Others _TBD_ - -These settings are read by `corehost` to determine how to initialize the runtime. All versions of `corehost` **must ignore** settings in this section that they do not understand (thus allowing new settings to be added in later versions). +These settings are read by host (apphost or dotnet executable) to determine how to initialize the runtime. All versions of the host **must ignore** settings in this section that they do not understand (thus allowing new settings to be added in later versions). ### `compilationOptions` Section (`.deps.json`) -This section is copied by storing the merged `compilationOptions` from the input `project.json`. The `project.json` can define three sets of compilation options: Global, Per-Configuration, and Per-Framework. However, the `[appname].runtimeconfig.json` is specific to a configuration and framework so there is only one merged section here. - -The exact settings found here are specific to the compiler that produced the original application binary. Some example settings include: `defines`, `languageVersion` (C#/VB), `allowUnsafe` (C#), etc. - -As an example, here is a possible `project.json` file: - -```json -{ - "compilationOptions": { - "allowUnsafe": true - }, - "frameworks": { - "net451": { - "compilationOptions": { - "defines": [ "DESKTOP_CLR" ] - } - }, - "dnxcore50": { - "compilationOptions": { - "defines": [ "CORE_CLR" ] - } - } - }, - "configurations": { - "Debug": { - "compilationOptions": { - "defines": [ "DEBUG_MODE" ] - } - } - } -} -``` - -When this project is built for `dnxcore50` in the `Debug` configuration, the outputted `MyApp.deps.json` file will have the following `compilationOptions` section: - -```json -{ - "compilationOptions": { - "allowUnsafe": true, - "defines": [ "CORE_CLR", "DEBUG_MODE" ] - } -} -``` +This section is created during build from the project's settings. The exact settings found here are specific to the compiler that produced the original application binary. Some example settings include: `defines`, `languageVersion` (e.g. the version of C# or VB), `allowUnsafe` (a C# option), etc. ### `runtimeTarget` Section (`.deps.json`) -This property contains the name of the target from `targets` that should be used by the runtime. This is present to simplify `corehost` so that it does not have to parse or understand target names and the meaning thereof. +This property contains the name of the target from `targets` that should be used by the runtime. This is present to simplify the host so that it does not have to parse or understand target names and the meaning thereof. ### `targets` Section (`.deps.json`) @@ -194,14 +147,10 @@ This section contains subsetted data from the input `project.lock.json`. Each property under `targets` describes a "target", which is a collection of libraries required by the application when run or compiled in a certain framework and platform context. A target **must** specify a Framework name, and **may** specify a Runtime Identifier. Targets without Runtime Identifiers represent the dependencies and assets used for compiling the application for a particular framework. Targets with Runtime Identifiers represent the dependencies and assets used for running the application under a particular framework and on the platform defined by the Runtime Identifier. In the example above, the `.NETStandardApp,Version=v1.5` target lists the dependencies and assets used to compile the application for `dnxcore50`, and the `.NETStandardApp,Version=v1.5/osx.10.10-x64` target lists the dependencies and assets used to run the application on `dnxcore50` on a 64-bit Mac OS X 10.10 machine. -There will always be two targets in the `[appname].runtimeconfig.json` file: A compilation target, and a runtime target. The compilation target will be named with the framework name used for the compilation (`.NETStandardApp,Version=v1.5` in the example above). The runtime target will be named with the framework name and runtime identifier used to execute the application (`.NETStandardApp,Version=v1.5/osx.10.10-x64` in the example above). However, the runtime target will also be identified by name in the `runtimeOptions` section, so that `corehost` need not parse and understand target names. +There will always be two targets in the `[appname].runtimeconfig.json` file: A compilation target, and a runtime target. The compilation target will be named with the framework name used for the compilation (`.NETStandardApp,Version=v1.5` in the example above). The runtime target will be named with the framework name and runtime identifier used to execute the application (`.NETStandardApp,Version=v1.5/osx.10.10-x64` in the example above). However, the runtime target will also be identified by name in the `runtimeOptions` section, so that the host does not need to parse and understand target names. The content of each target property in the JSON is a JSON object. Each property of that JSON object represents a single dependency required by the application when compiled for/run on that target. The name of the property contains the ID and Version of the dependency in the form `[Id]/[Version]`. The content of the property is another JSON object containing metadata about the dependency. -The `type` property of a dependency object defines what kind of entity satisfied the dependency. Possible values include `project` and `package` (further comments on dependency types below). - -**Open Question:** `type` is also present in the `libraries` section. We don't really need it in both. It's in both now because the lock file does that and we want the formats to be similar. Should we remove it? - The `dependencies` property of a dependency object defines the ID and Version of direct dependencies of this node. It is a JSON object where the property names are the ID of the dependency and the content of each property is the Version of the dependency. The `runtime` property of a dependency object lists the relative paths to Managed Assemblies required to be available at runtime in order to satisfy this dependency. The paths are relative to the location of the Dependency (see below for further details on locating a dependency). @@ -212,7 +161,7 @@ The `native` property of a dependency object lists the relative paths to Native In compilation targets, the `runtime`, `resources` and `native` properties of a dependency are omitted, because they are not relevant to compilation. Similarly, in runtime targets, the `compile` property is omitted, because it is not relevant to runtime. -Only dependencies with a `type` value of `package` should be considered by `corehost`. There may be other items, used for other purposes (for example, Projects, Reference Assemblies, etc. +Only dependencies with a `type` value of `package` should be considered by the host. There may be other items, used for other purposes (for example, Projects, Reference Assemblies, etc. ### `libraries` Section (`.deps.json`) @@ -222,78 +171,27 @@ This section contains a union of all the dependencies found in the various targe The file is read by two different components: -* `corehost` uses it to determine what to place on the TPA and Native Library Search Path lists, as well as what runtime settings to apply (GC type, etc.). See [the `corehost` spec](corehost.md). +* The host uses it to determine what to place on the TPA and Native Library Search Path lists, as well as what runtime settings to apply (GC type, etc.). See [the host spec](corehost.md). * `Microsoft.Extensions.DependencyModel` uses it to allow a running managed application to query various data about it's dependencies. For example: * To find all dependencies that depend on a particular package (used by ASP.NET MVC and other plugin-based systems to identify assemblies that should be searched for possible plugin implementations) * To determine the reference assemblies used by the application when it was compiled in order to allow runtime compilation to use the same reference assemblies (used by ASP.NET Razor to compile views) * To determine the compilation settings used by the application in order to allow runtime compilation to use the same settings (also used by ASP.NET Razor views). - + ## Opt-In Compilation Data -Some of the sections in the `.deps.json` file contain data used for runtime compilation. This data is not provided in the file by default. Instead, a project.json setting `preserveCompilationContext` must be set to true in order to ensure this data is added. Without this setting, the `compilationOptions` will not be present in the file, and the `targets` section will contain only the runtime target. For example, if the `preserveCompilationContext` setting was not present in the `project.json` that generated the above example, the `.deps.json` file would only contain the following content: +Some of the sections in the `.deps.json` file contain data used for runtime compilation. This data is not provided in the file by default. Instead, a project.json setting `preserveCompilationContext` must be set to true in order to ensure this data is added. Without this setting, the `compilationOptions` will not be present in the file, and the `targets` section will contain only the runtime target. -```json -{ - "runtimeTarget": { - "name": ".NETStandardApp,Version=v1.5/osx.10.10-x64", - "portable": false - }, - "targets": { - ".NETStandardApp,Version=v1.5/osx.10.10-x64": { - "MyApp/1.0": { - "dependencies": { - "AspNet.Mvc": "1.0.0" - } - }, - "System.Foo/1.0.0": { - "runtime": { - "lib/dnxcore50/System.Foo.dll": { } - } - }, - "System.Banana/1.0.0": { - "dependencies": { - "System.Foo": "1.0.0" - }, - "runtime": { - "lib/dnxcore50/System.Banana.dll": { } - }, - "resources": { - "lib/dnxcore50/fr-FR/System.Banana.resources.dll": { "locale": "fr-FR" } - }, - "native": { - "runtimes/osx.10.10-x64/native/libbananahelper.dylib": { } - } - } - } - }, - "libraries": { - "MyApp/1.0": { - "type": "project" - }, - "System.Foo/1.0": { - "type": "package", - "serviceable": true, - "sha512": "[base64 string]" - }, - "System.Banana/1.0": { - "type": "package", - "sha512": "[base64 string]" - } - } -} -``` +## Framework-dependent Deployment Model -## Portable Deployment Model +An application can be deployed in a "framework-dependent" deployment model. In this case, the RID-specific assets of packages are published within a folder structure that preserves the RID metadata. However the host does not use this folder structure, rather it reads data from the `.deps.json` file. Also, during deployment, the `.exe` file (`apphost.exe` renamed) is not deployed by default. -An application can be deployed in a "portable" deployment model. In this case, the RID-specific assets of packages are published within a folder structure that preserves the RID metadata. However, `corehost` does not use this folder structure, rather it reads data from the `.deps.json` file. Also, during deployment, the `.exe` file (`corehost` renamed) is not deployed. - -In the portable deployment model, the `*.runtimeConfig.json` file will contain the `runtimeOptions.framework` section: +In the framework-dependent deployment model, the `*.runtimeConfig.json` file will contain the `runtimeOptions.framework` section: ```json { "runtimeOptions": { "framework": { - "name": "NETCore.App", + "name": "Microsoft.NETCore.App", "version": "1.0.1" } } @@ -336,11 +234,11 @@ The shared framework's deps file will also contain a `runtimes` section defining } ``` -The host will have a RID embedded in it during compilation (for example, `win10-x64` for Windows 64-bit). It will look up the corresponding entry in the `runtimes` section to identify what the fallback list is for `win10-x64`. The fallbacks are identified from most-specific to least-specific. In the case of `win10-x64` and the example above, the fallback list is: `"win10-x64", "win10", "win81-x64", "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base"` (note that an exact match on the RID itself is the first preference, followed by the first item in the fallback list, then the next item, and so on). +The host will detect the RID at runtime (for example, `win10-x64` for Windows 64-bit). It will look up the corresponding entry in the `runtimes` section to identify what the fallback list is for `win10-x64`. The fallbacks are identified from most-specific to least-specific. In the case of `win10-x64` and the example above, the fallback list is: `"win10-x64", "win10", "win81-x64", "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base"` (note that an exact match on the RID itself is the first preference, followed by the first item in the fallback list, then the next item, and so on). -In the app-local deps file for a `portable` application, the package entries may have an additional `runtimeTargets` section detailing RID-specific assets. The `corehost` application should use this data, along with the current RID and the RID fallback data defined in the `runtimes` section of the shared framework deps file to select one **and only one** RID value out of each package individually. The most specific RID present within the package should always be selected. +In the app-local deps file for a `framework-dependent` application, the package entries may have an additional `runtimeTargets` section detailing RID-specific assets. The host should use this data, along with the current RID and the RID fallback data defined in the `runtimes` section of the shared framework deps file to select one **and only one** RID value out of each package individually. The most specific RID present within the package should always be selected. -Consider `corehost` built for `ubuntu.14.04-x64` and the following snippet from an app-local deps file (some sections removed for brevity). +Consider an application built for `ubuntu.14.04-x64` and the following snippet from an app-local deps file (some sections removed for brevity). ```json { @@ -389,3 +287,52 @@ When setting up the TPA and native library lists, it will do the following for t Note one important aspect about asset resolution: The resolution scope is **per-package**, **not per-application**, **nor per-asset**. For each individual package, the most appropriate RID is selected, and **all** assets taken from that package must match the selected RID exactly. For example, if a package provides both a `linux-x64` and a `unix` RID (in the `ubuntu.14.04-x64` example above), **only** the `linux-x64` asset would be selected for that package. However, if a different package provides only a `unix` RID, then the asset from the `unix` RID would be selected. The path to a runtime-specific asset is resolved in the same way as a normal asset (first check Servicing, then Package Cache, App-Local, Global Packages Location, etc.) with **one exception**. When searching app-local, rather than just looking for the simple file name in the app-local directory, a runtime-specific asset is expected to be located in a subdirectory matching the relative path information for that asset in the lock file. So the `native` `sni.dll` asset for `win7-x64` in the `System.Data.SqlClient` example above would be located at `APPROOT/runtimes/win7-x64/native/sni.dll`, rather than the normal app-local path of `APPROOT/sni.dll`. + +## Opt-In [appname].runtimeconfig.json Explicit Overrides for Framework Settings +In order to address potential issues with compatibility, an application can override a framework's runtimeconfig.json settings. This should only be done with the understanding that any settings specified here have unintended consequences and may prevent future upgrade \ roll-forward compatibility. The settings include `version`, `rollForwardOnNoCandidateFx` and `applyPatches`. + +As an example, assume the following framework layering: +- Application +- Microsoft.AspNetCore.All +- Microsoft.AspNetCore.App +- Microsoft.NetCore.App + +Except for Microsoft.NetCore.App (since it does not have a lower-level framework), each layer has a runtimeconfig.json setting specifying a single lower-layer framework's `name`, `version` and optional `rollForwardOnNoCandidateFx` and `applyPatches`. + +The normal hierarchy processing for most knobs, such as `rollForwardOnNoCandidateFx`: + - a) Default value determined by the framework (e.g. roll-forward on [Minor]) + - b) Environment variable override (e.g. `DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX`) + - c) Each layer's `runtimeOptions` override setting in its runtimeconfig.json, starting with app (e.g. `rollForwardOnNoCandidateFx`). Lower layers can override this. + - d) The app's `additionalFrameworks` override section in `[appname].runtimeconfig.json` which specifies knobs per-framework. + - e) A `--` command line value such as `--roll-forward-on-no-candidate-fx` + +In a hypothetical example, `Microsoft.AspNetCore.App` turns on the ability via mechanism `c` above to roll-forward `Microsoft.NetCore.App` on [major] releases by specifying `rollForwardOnNoCandidateFx = 2` in its runtimeconfig.json. For example: +```json +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.NetCore.App", + "version": "2.2.0" + }, + "rollForwardOnNoCandidateFx": "2" + } +} +``` + +However, if that behavior is not wanted by the app, the app has the option of overriding. This cannot be done by the same mechanism `c` because the app's runtimeconfig settings would be overridden by the sample above since the sample is in a lower layer. Thus to override the setting, mechanism `d` is used. An example of the `additionalFrameworks` section for mechanism `d`: +```json +{ + "runtimeOptions": { + "framework": { + "name": "Microsoft.AspNetCore.All", + "version": "1.0.1" + }, + "additionalFrameworks": [ + { + "name": "Microsoft.AspNetCore.App", + "rollForwardOnNoCandidateFx": "1", + } + ] + } +} +``` diff --git a/README.md b/README.md index d529f7c5d..ad0c22641 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Looking for V1 of the .NET Core tooling? If you are looking for the v2.0 release of the .NET Core tools (CLI, MSBuild and the new csproj), head over to https://dot.net/core and download! -> **Note:** the release/2.1.4xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the +> **Note:** the release/2.2.1xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the > released version of the tools available at https://dot.net/core Found an issue? @@ -65,7 +65,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). > In order to be able to restore these pre-release packages, you may need to add a NuGet feed pointing to https://dotnet.myget.org/F/dotnet-core/api/v3/index.json. Other feeds may also be necessary depending on what kind of project you are working with. -| Platform | Latest Daily Build
*release/2.1.4xx*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*release/2.2.1xx*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -76,7 +76,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Linux-musl** | [tar.gz][linux-musl-targz] - [Checksum][linux-musl-targz-checksum] | -| Latest Coherent Build2
*release/2.1.4xx* | +| Latest Coherent Build2
*release/2.2.1xx* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -84,47 +84,47 @@ Reference notes: > **1**: *Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.* >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/latest.version -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/latest.coherent.version +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/latest.version +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/latest.coherent.version [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/win_x64_Release_version_badge.svg -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/win_x64_Release_coherent_badge.svg +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/win_x64_Release_version_badge.svg +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/win_x64_Release_coherent_badge.svg -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x64.zip.sha +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x64.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-win-x86.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-win-x86.zip.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-osx-x64.tar.gz.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-osx-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-x64.tar.gz.sha -[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-arm.tar.gz -[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-arm.tar.gz.sha +[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-arm.tar.gz +[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-arm.tar.gz.sha -[linux-arm64-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-arm64.tar.gz -[linux-arm64-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-linux-arm64.tar.gz.sha +[linux-arm64-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-arm64.tar.gz +[linux-arm64-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-arm64.tar.gz.sha -[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-x64.deb -[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-x64.deb.sha +[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-x64.deb +[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-x64.deb.sha -[linux-RPM-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-x64.rpm -[linux-RPM-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-x64.rpm.sha +[linux-RPM-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-x64.rpm +[linux-RPM-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-x64.rpm.sha -[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz -[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha +[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-rhel.6-x64.tar.gz +[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha -[linux-musl-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-musl-x64.tar.gz -[linux-musl-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-musl-x64.tar.gz.sha +[linux-musl-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-musl-x64.tar.gz +[linux-musl-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.2.1xx/dotnet-sdk-latest-linux-musl-x64.tar.gz.sha # Debian daily feed diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj index 331a6e75f..b7c3c6720 100644 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj +++ b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj @@ -2,9 +2,9 @@ - netcoreapp2.1;net451 + netcoreapp2.2;net451 Exe - $(AssetTargetFallback);portable-net45+win8;dnxcore50 + $(AssetTargetFallback);portable-net45+win8;dnxcore50 win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 $(TEST_PACKAGES) diff --git a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj index 70844e9e1..4063c62d2 100644 --- a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj +++ b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj @@ -2,7 +2,7 @@ - net461;netcoreapp2.1 + net461;netcoreapp2.2 diff --git a/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj b/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj index 465f0e78a..42170c6bb 100644 --- a/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj +++ b/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1;net461 + netcoreapp2.2;net461 diff --git a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj index c237cd483..9913cfd8a 100644 --- a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj +++ b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 dotnet-tool-with-output-name ToolWithOutputName Exe diff --git a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj index 5af4b20b4..fa8676db2 100644 --- a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj @@ -3,7 +3,7 @@ 1.0.0-rc - netcoreapp2.1 + netcoreapp2.2 Exe diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index f625dcbe6..71975ef6f 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -6,7 +6,7 @@ 1.0.0-rc - netcoreapp2.1 + netcoreapp2.2 Exe false diff --git a/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj b/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj index 9e29a16a7..3112ce34f 100644 --- a/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj +++ b/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 dotnet-fallbackfoldertool Exe diff --git a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj index 4ff2b8d00..777a031cc 100644 --- a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj +++ b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj @@ -5,7 +5,7 @@ 1.0.0 - netcoreapp2.1 + netcoreapp2.2 dotnet-hello Exe win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj index 7e4bc54d0..6c305470a 100644 --- a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj +++ b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj @@ -5,7 +5,7 @@ 2.0.0 - netcoreapp2.1 + netcoreapp2.2 dotnet-hello Exe win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj index 70f8b0dde..1aef6a2d9 100644 --- a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj +++ b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe diff --git a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj index 5275ba5fc..8706fd623 100644 --- a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj +++ b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe diff --git a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj index be02066ff..576839f8e 100644 --- a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj @@ -3,6 +3,6 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj index bde0adabe..d4e31136a 100644 --- a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;linux-musl-x64 diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj index 4ea5be23c..3bbb28817 100755 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj index afcfb340e..99e82e3e5 100755 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj index 5b5c0f757..1818cdb1a 100755 --- a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj @@ -3,7 +3,7 @@ 1.0.0 - netcoreapp2.1 + netcoreapp2.2 AppWithDirectDep Exe false diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj index 4eef16036..216b6a543 100755 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj index 76195b1ca..5701923a5 100755 --- a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj index bde0adabe..d4e31136a 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;linux-musl-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj index bde0adabe..d4e31136a 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;linux-musl-x64 diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 4aeb0de85..9986f54fc 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -3,7 +3,7 @@ Exe - net451;netcoreapp2.1 + net451;netcoreapp2.2 $(TEST_PACKAGES) @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj index a18ee9852..945c59f44 100755 --- a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj index 2de1535e2..d2949d134 100755 --- a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj +++ b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj @@ -3,7 +3,7 @@ 1.0.0 - netcoreapp2.1 + netcoreapp2.2 DependencyContextFromTool Exe false diff --git a/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj b/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj index 7c81fcb9c..bd7fe7deb 100644 --- a/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj +++ b/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe true diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj index 4ef98259b..49785ea14 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj @@ -3,7 +3,7 @@ Exe - net451;netcoreapp2.1 + net451;netcoreapp2.2 \ No newline at end of file diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 276e1c618..3cad5f8ab 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -3,14 +3,14 @@ Exe - net451;netcoreapp2.1 + net451;netcoreapp2.2 - + diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index de20e4481..89540778e 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;linux-musl-x64 $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj b/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj index 9d52a2484..b70e9cd58 100644 --- a/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj +++ b/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj b/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj index cff7d9c45..c33c5b112 100644 --- a/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj +++ b/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj b/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj index 340e58180..ab48b8ed6 100644 --- a/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj +++ b/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj index 43b200bd5..77e0646a6 100644 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj b/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj index 9c5f2a885..7f72f6294 100755 --- a/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj +++ b/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 Exe \ No newline at end of file diff --git a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj index cefcb0402..683a2bf14 100644 --- a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj index d466f76c6..7eae8fc04 100644 --- a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj index b4e6c9844..71c0021d7 100644 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj +++ b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj index 264eddb85..2c41925b8 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj index cefcb0402..683a2bf14 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj index d02e1c64b..7d85a48e1 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj index 653032148..73ff8c948 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj index cefcb0402..683a2bf14 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj index d466f76c6..7eae8fc04 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj index cefcb0402..683a2bf14 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj index 867909f5d..ea3bd4c8a 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj index 867909f5d..ea3bd4c8a 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj index 653032148..73ff8c948 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj index 264eddb85..2c41925b8 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj b/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj index f600e9d8e..0d5ffc364 100644 --- a/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj +++ b/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj @@ -2,7 +2,7 @@ - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj b/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj index 23df6047f..21dff5ca2 100644 --- a/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj +++ b/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj index 95f0c2918..062053c0d 100644 --- a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj +++ b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj index c657cca43..74ba7d5e0 100644 --- a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj @@ -2,7 +2,7 @@ - net46;netcoreapp2.1 + net46;netcoreapp2.2 diff --git a/TestAssets/TestProjects/XunitCore/XunitCore.csproj b/TestAssets/TestProjects/XunitCore/XunitCore.csproj index e93fc550d..e8a170e74 100644 --- a/TestAssets/TestProjects/XunitCore/XunitCore.csproj +++ b/TestAssets/TestProjects/XunitCore/XunitCore.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.1 + netcoreapp2.2 diff --git a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj index 7269a3418..ad2fe0792 100644 --- a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj @@ -2,7 +2,7 @@ - net46;netcoreapp2.1 + net46;netcoreapp2.2 win7-x86 win7-x86 @@ -11,7 +11,7 @@ DESKTOP;$(DefineConstants) - + diff --git a/build/BranchInfo.props b/build/BranchInfo.props index c7a84c19d..e666ebd65 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.1.4xx - release/2.1.4xx + release/2.2.1xx + release/2.2.1xx diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index c38a969a4..108e19f92 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -5,7 +5,7 @@ - + diff --git a/build/CrossGen.props b/build/CrossGen.props index 6a5907629..355405b36 100644 --- a/build/CrossGen.props +++ b/build/CrossGen.props @@ -1,8 +1,11 @@ runtime.$(SharedFrameworkRid).microsoft.netcore.app - $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/tools/crossgen$(ExeExtension) - $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(SharedFrameworkRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension) + <_crossDir Condition="'$(Architecture)' == 'arm64'">/x64_arm64 + $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/tools$(_crossDir)/crossgen$(ExeExtension) + $(SharedFrameworkRid) + x64_arm64 + $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(LibCLRJitRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension) $(OutputDirectory)/shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppPackageVersion) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 66f739d52..db142326b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.2 + 2.2.0-preview1-34355 $(MicrosoftAspNetCoreAllPackageVersion) 2.1.1 2.1.1 @@ -10,7 +10,7 @@ 2.1.1 2.1.1 2.1.1 - 2.1.2 + 2.2.0-preview1-26609-02 $(MicrosoftNETCoreAppPackageVersion) 15.8.0-preview-000160 $(MicrosoftBuildPackageVersion) @@ -23,7 +23,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.400-preview-63118-01 + 2.2.100-preview1-63118-02 $(MicrosoftNETSdkPackageVersion) 2.1.1 2.1.400-preview1-20180705-1834985 @@ -37,8 +37,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0 - 2.1.0 + 2.2.0-preview1-26609-02 + 2.2.0-preview1-26609-02 0.1.1 1.3.1 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index f5365724a..7e039db03 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -137,7 +137,7 @@ So that we don't need to manually update the version selection logic between when we ship a final release and when we ship the first patch --> + BundledNETCoreAppPackageVersion="$(_NETCoreAppPackageVersion)"> diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 535665c79..691ace518 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -20,7 +20,9 @@ + + diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index b5d26d549..fb3960228 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -17,7 +17,7 @@ $(SdkOutputDirectory)/Roslyn $(SdkOutputDirectory)/FSharp $(BaseOutputDirectory)/compilation - $(BaseOutputDirectory)/intermediate + $(BaseOutputDirectory)/int $(BaseOutputDirectory)/packages $(IntermediateDirectory)/sharedFrameworkPublish $(IntermediateDirectory)/aspnetSharedFxPublish diff --git a/build/Signing.proj b/build/Signing.proj index f77406db0..0823bb62e 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -22,12 +22,12 @@ - $(BaseOutputDirectory)/intermediate/MSBuildExtensionsLayout/MSBuildSdkResolver + $(IntermediateDirectory)/MSBuildExtensionsLayout/MSBuildSdkResolver $(BaseOutputDirectory) - $(BaseOutputDirectory)/intermediate + $(IntermediateDirectory) diff --git a/build/Version.props b/build/Version.props index cde7dcc9d..960b03aff 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,9 +1,9 @@ 2 - 1 - 400 - preview + 2 + 100 + preview1 $(VersionMajor).$(VersionMinor) $(VersionMajor).$(VersionMinor).$(VersionPatch) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 0e516f440..68390e2d7 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -94,12 +94,12 @@ UseHardlinksIfPossible="False" /> - - - - - - + + + + + + - - - - - - + + + + + + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 349089d86..f6f9abfa9 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -30,7 +30,11 @@ $(MicrosoftNETCoreAppMajorMinorVersion) dotnet-runtime-$(SharedFxDebianPackageFileVersion) $(SharedFxDebianPackageFileName.ToLower()) - dotnet-runtime-$(SharedFxDebianPackageVersion) + + + dotnet-runtime-$(SharedFxDebianPackageFileVersion) + $(SharedFxDebianPackageName.ToLower()) $(HostFxrMajorMinorVersion) dotnet-hostfxr-$(HostFxrDebianPackageVersion) @@ -38,7 +42,11 @@ dotnet-host aspnetcore-runtime-$(AspNetCoreVersion) $(AspNetCoreSharedFxDebianPackageFileName.ToLower()) - aspnetcore-runtime-$(AspNetCoreMajorMinorVersion) + + + aspnetcore-runtime-$(AspNetCoreVersion) + $(AspNetCoreSharedFxDebianPackageName.ToLower()) diff --git a/packaging/windows/clisdk/generatenupkg.ps1 b/packaging/windows/clisdk/generatenupkg.ps1 index ca91f2e3a..f2df9810d 100644 --- a/packaging/windows/clisdk/generatenupkg.ps1 +++ b/packaging/windows/clisdk/generatenupkg.ps1 @@ -26,7 +26,7 @@ function DownloadNugetExe if (-not (Test-Path $NuGetExe)) { Write-Output 'Downloading nuget.exe to ' + $NuGetExe - wget https://dist.nuget.org/win-x86-commandline/v3.5.0-rc1/NuGet.exe -OutFile $NuGetExe + wget https://dist.nuget.org/win-x86-commandline/v4.7.0/nuget.exe -OutFile $NuGetExe } } diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 5bfd355eb..14ebe11af 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -73,6 +73,8 @@ .PARAMETER SkipNonVersionedFiles Default: false Skips installing non-versioned files if they already exist, such as dotnet.exe. +.PARAMETER NoCdn + Disable downloading from the Azure CDN, and use the uncached feed directly. #> [cmdletbinding()] param( @@ -91,13 +93,18 @@ param( [string]$FeedCredential, [string]$ProxyAddress, [switch]$ProxyUseDefaultCredentials, - [switch]$SkipNonVersionedFiles + [switch]$SkipNonVersionedFiles, + [switch]$NoCdn ) Set-StrictMode -Version Latest $ErrorActionPreference="Stop" $ProgressPreference="SilentlyContinue" +if ($NoCdn) { + $AzureFeed = $UncachedFeed +} + $BinFolderRelativePath="" if ($SharedRuntime -and (-not $Runtime)) { @@ -461,6 +468,12 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { } function DownloadFile([Uri]$Uri, [string]$OutPath) { + if ($Uri -notlike "http*") { + Say-Verbose "Copying file from $Uri to $OutPath" + Copy-Item $Uri.AbsolutePath $OutPath + return + } + $Stream = $null try { diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 588d32814..0d4307072 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -75,16 +75,24 @@ get_legacy_os_name_from_platform() { echo "debian" return 0 ;; + "debian.9") + echo "debian.9" + return 0 + ;; "fedora.23") echo "fedora.23" return 0 ;; + "fedora.24") + echo "fedora.24" + return 0 + ;; "fedora.27") echo "fedora.27" return 0 ;; - "fedora.24") - echo "fedora.24" + "fedora.28") + echo "fedora.28" return 0 ;; "opensuse.13.2") @@ -628,7 +636,7 @@ extract_dotnet_package() { tar -xzf "$zip_path" -C "$temp_out_path" > /dev/null || failed=true local folders_with_version_regex='^.*/[0-9]+\.[0-9]+[^/]+/' - find "$temp_out_path" -type f | grep -Eo "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" false + find "$temp_out_path" -type f | grep -Eo "$folders_with_version_regex" | sort | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" false find "$temp_out_path" -type f | grep -Ev "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" "$override_non_versioned_files" rm -rf "$temp_out_path" @@ -648,6 +656,11 @@ download() { local remote_path="$1" local out_path="${2:-}" + if [[ "$remote_path" != "http"* ]]; then + cp "$remote_path" "$out_path" + return $? + fi + local failed=false if machine_has "curl"; then downloadcurl "$remote_path" "$out_path" || failed=true @@ -811,6 +824,7 @@ install_dir="" architecture="" dry_run=false no_path=false +no_cdn=false azure_feed="https://dotnetcli.azureedge.net/dotnet" uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet" feed_credential="" @@ -862,6 +876,9 @@ do --verbose|-[Vv]erbose) verbose=true ;; + --no-cdn|-[Nn]o[Cc]dn) + no_cdn=true + ;; --azure-feed|-[Aa]zure[Ff]eed) shift azure_feed="$1" @@ -924,6 +941,7 @@ do echo " --verbose,-Verbose Display diagnostics information." echo " --azure-feed,-AzureFeed Azure feed location. Defaults to $azure_feed, This parameter typically is not changed by the user." echo " --uncached-feed,-UncachedFeed Uncached feed location. This parameter typically is not changed by the user." + echo " --no-cdn,-NoCdn Disable downloading from the Azure CDN, and use the uncached feed directly." echo " --feed-credential,-FeedCredential Azure feed shared access token. This parameter typically is not specified." echo " --runtime-id Installs the .NET Tools for the given platform (use linux-x64 for portable linux)." echo " -RuntimeId" @@ -949,6 +967,10 @@ do shift done +if [ "$no_cdn" = true ]; then + azure_feed="$uncached_feed" +fi + check_min_reqs calculate_vars diff --git a/scripts/register-completions.bash b/scripts/register-completions.bash index b4753def3..09d167bd2 100644 --- a/scripts/register-completions.bash +++ b/scripts/register-completions.bash @@ -1,14 +1,12 @@ -#!/bin/bash # bash parameter completion for the dotnet CLI _dotnet_bash_complete() { local word=${COMP_WORDS[COMP_CWORD]} - local dotnetPath=${COMP_WORDS[1]} local completions=("$(dotnet complete --position ${COMP_POINT} "${COMP_LINE}")") COMPREPLY=( $(compgen -W "$completions" -- "$word") ) } -complete -f -F _dotnet_bash_complete dotnet \ No newline at end of file +complete -f -F _dotnet_bash_complete dotnet diff --git a/scripts/register-completions.zsh b/scripts/register-completions.zsh index 9f290bc68..8eebe9a86 100644 --- a/scripts/register-completions.zsh +++ b/scripts/register-completions.zsh @@ -2,11 +2,9 @@ _dotnet_zsh_complete() { - local dotnetPath=$words[1] - local completions=("$(dotnet complete "$words")") reply=( "${(ps:\n:)completions}" ) } -compctl -K _dotnet_zsh_complete dotnet \ No newline at end of file +compctl -K _dotnet_zsh_complete dotnet diff --git a/src/dotnet/Telemetry/Sha256Hasher.cs b/src/dotnet/Telemetry/Sha256Hasher.cs index f077b8fb8..473a5eb6a 100644 --- a/src/dotnet/Telemetry/Sha256Hasher.cs +++ b/src/dotnet/Telemetry/Sha256Hasher.cs @@ -9,7 +9,7 @@ namespace Microsoft.DotNet.Cli.Telemetry internal static class Sha256Hasher { /// - /// // The hashed mac address needs to be the same hashed value as produced by the other distinct sources given the same input. (e.g. VsCode) + /// The hashed mac address needs to be the same hashed value as produced by the other distinct sources given the same input. (e.g. VsCode) /// public static string Hash(string text) { diff --git a/src/dotnet/Telemetry/Telemetry.cs b/src/dotnet/Telemetry/Telemetry.cs index 2a88de24f..57c2133c7 100644 --- a/src/dotnet/Telemetry/Telemetry.cs +++ b/src/dotnet/Telemetry/Telemetry.cs @@ -141,14 +141,7 @@ namespace Microsoft.DotNet.Cli.Telemetry { foreach (KeyValuePair measurement in measurements) { - if (eventMeasurements.ContainsKey(measurement.Key)) - { - eventMeasurements[measurement.Key] = measurement.Value; - } - else - { - eventMeasurements.Add(measurement.Key, measurement.Value); - } + eventMeasurements[measurement.Key] = measurement.Value; } } return eventMeasurements; @@ -161,14 +154,7 @@ namespace Microsoft.DotNet.Cli.Telemetry var eventProperties = new Dictionary(_commonProperties); foreach (KeyValuePair property in properties) { - if (eventProperties.ContainsKey(property.Key)) - { - eventProperties[property.Key] = property.Value; - } - else - { - eventProperties.Add(property.Key, property.Value); - } + eventProperties[property.Key] = property.Value; } return eventProperties; } diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs index c141be03b..1f4dbfb35 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs @@ -63,7 +63,7 @@ namespace Microsoft.DotNet.Cli try { var cancellation = new CancellationTokenSource(TimeSpan.FromSeconds(10)); - var response = httpClient.GetAsync($"https://api-v2v3search-0.nuget.org/query?q={match}&skip=0&take=100&prerelease=true", cancellation.Token) + var response = httpClient.GetAsync($"https://api-v2v3search-0.nuget.org/autocomplete?q={match}&skip=0&take=100", cancellation.Token) .Result; result = response.Content.ReadAsStreamAsync().Result; @@ -81,7 +81,7 @@ namespace Microsoft.DotNet.Cli foreach (var id in json["data"]) { - yield return id["id"].Value(); + yield return id.Value(); } } } diff --git a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx index c07ad463f..adb3d2065 100644 --- a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx @@ -156,7 +156,7 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. @@ -208,4 +208,4 @@ Outputs a 'Sequence.xml' file in the current directory that captures the order o The configuration to use for running tests. The default for most projects is 'Debug'. - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index cfa4dffb8..5d7dd27c6 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Protokolovací nástroj, který se použije pro výsledky testů. + Protokolovací nástroj, který se použije pro výsledky testů. Příklady: Protokol ve formátu trx, který používá jedinečný název souboru: --logger trx Protokol ve formátu trx, který používá zadaný název souboru: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 53cd61f87..7f23d7a05 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Die für Testergebnisse zu verwendende Protokollierung. + Die für Testergebnisse zu verwendende Protokollierung. Beispiele: Hiermit werden Ergebnisse im TRX-Format mit eindeutigem Dateinamen protokolliert: --logger trx Hiermit werden Ergebnisse im TRX-Format mit dem angegebenem Dateinamen protokolliert: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index fe15ae11f..a2037a3e0 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Registrador que se utiliza para los resultados de las pruebas. + Registrador que se utiliza para los resultados de las pruebas. Ejemplos: Registrar en formato trx con un nombre de archivo único: --logger trx Registrar en formato trx con el nombre de archivo especificado: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 93e5b9e3c..8a124600e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Journaliseur à utiliser pour les résultats des tests. + Journaliseur à utiliser pour les résultats des tests. Exemples : Journal au format trx avec un nom de fichier unique : --logger trx Journal au format trx avec le nom de fichier spécifié : --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index d2a29511a..925d4a42f 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -62,7 +62,7 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. Logger da usare per i risultati dei test. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index f75c23141..1963ac99c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -62,7 +62,7 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. テスト結果のために使用するロガー。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 2abde893e..c44490c6b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -62,7 +62,7 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. 테스트 결과에 사용할 로거입니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index dc616b2c5..a35d0dfbd 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -62,7 +62,7 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. Rejestrator używany dla wyników testów. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 828a5fde8..ede1f8f7b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - O agente a ser usado para os resultados de teste. + O agente a ser usado para os resultados de teste. Exemplos: Registrar no formato trx usando um nome de arquivo exclusivo: --logger trx Registrar no formato trx usando um nome de arquivo especificado: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 9823fda6b..59e8f5aac 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Средство ведения журнала для результатов теста. + Средство ведения журнала для результатов теста. Примеры Журнал в формате TRX с уникальным именем файла: --logger trx Журнал в формате TRX с заданным именем файла: --logger "trx;LogFileName=<результаты_теста.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 959948ad2..989cc60d4 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - Test sonuçları için kullanılacak günlükçü. + Test sonuçları için kullanılacak günlükçü. Örnekler: Benzersiz bir dosya adı kullanan trx biçiminde günlük kaydı: --logger trx Belirtilen dosya adını kullanan trx biçiminde günlük kaydı: --logger "trx;LogFileName=<TestSonuçları.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 2c419212b..6b1fcb73e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - 用于测试结果的记录器。 + 用于测试结果的记录器。 示例: 使用唯一文件名以 trx 格式记录: --logger trx 使用指定文件名以 trx 格式记录: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 0c574eaff..83639c88b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -62,10 +62,10 @@ The logger to use for test results. Examples: - Log in trx format using a unqiue file name: --logger trx + Log in trx format using a unique file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" See https://aka.ms/vstest-report for more information on logger arguments. - 要用於測試結果的記錄器。 + 要用於測試結果的記錄器。 範例: 使用唯一的檔案名稱,以 trx 格式記錄: --logger trx 使用指定的檔案名稱,以 trx 格式記錄: --logger "trx;LogFileName=<TestResults.trx>" diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index df5e6fd7b..b117c4aa4 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -52,7 +52,7 @@ - + diff --git a/src/dotnet/xlf/LocalizableStrings.cs.xlf b/src/dotnet/xlf/LocalizableStrings.cs.xlf index 9b310d877..ead58bf07 100644 --- a/src/dotnet/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/LocalizableStrings.cs.xlf @@ -555,7 +555,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). + Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček, p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). diff --git a/src/dotnet/xlf/LocalizableStrings.de.xlf b/src/dotnet/xlf/LocalizableStrings.de.xlf index f1e4fcece..beb397f2a 100644 --- a/src/dotnet/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/xlf/LocalizableStrings.de.xlf @@ -275,7 +275,7 @@ More than one {0} found. - Es wurden mehrere Elemente vom Typ "{0}" gefunden. + Es wurden mehrere Elemente "{0}" gefunden. @@ -310,7 +310,7 @@ Please specify at least one {0}. - Geben Sie mindestens ein Element vom Typ "{0}" an. + Geben Sie mindestens ein Element "{0}" an. @@ -355,7 +355,7 @@ Found a project `{0}` but it is invalid. - Ein Projekt vom Typ "{0}" wurde gefunden, ist aber ungültig. + Ein Projekt "{0}" wurde gefunden, ist aber ungültig. @@ -420,7 +420,7 @@ Project {0} already has a reference `{1}`. - Für das Projekt "{0}" ist bereits ein Verweis vom Typ "{1}" vorhanden. + Für das Projekt "{0}" ist bereits ein Verweis "{1}" vorhanden. @@ -445,7 +445,7 @@ Project {0} already has a reference `{1}`. - Für das Projekt "{0}" ist bereits ein Verweis vom Typ "{1}" vorhanden. + Für das Projekt "{0}" ist bereits ein Verweis "{1}" vorhanden. @@ -555,7 +555,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Das Projekt "{1}" enthält keine Verweise vom Typ "{0}". ;; "{0}" ist die Art des angeforderten Elements (Projekt, Paket, P2P). "{1}" ist das Objekt, für das ein Vorgang ausgeführt wird (eine Projektdatei oder eine Projektmappendatei). + Das Projekt "{1}" enthält keine Verweise "{0}". ;; "{0}" ist die Art des angeforderten Elements (Projekt, Paket, P2P). "{1}" ist das Objekt, für das ein Vorgang ausgeführt wird (eine Projektdatei oder eine Projektmappendatei). diff --git a/src/dotnet/xlf/LocalizableStrings.es.xlf b/src/dotnet/xlf/LocalizableStrings.es.xlf index 3b0543881..70187aa81 100644 --- a/src/dotnet/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/xlf/LocalizableStrings.es.xlf @@ -95,7 +95,7 @@ Solution file - Archivo de la solución + Archivo de solución @@ -270,7 +270,7 @@ {0} `{1}` does not exist. - El {0} `{1}` no existe. + El {0} "{1}" no existe. @@ -495,7 +495,7 @@ Reference `{0}` deleted. - Se ha eliminado la referencia “{0}”. + Se ha eliminado la referencia "{0}". diff --git a/src/dotnet/xlf/LocalizableStrings.it.xlf b/src/dotnet/xlf/LocalizableStrings.it.xlf index dd3c23cae..9b40d41fd 100644 --- a/src/dotnet/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/xlf/LocalizableStrings.it.xlf @@ -215,12 +215,12 @@ {0} successfully updated. - {0} è stato aggiornato. + L'elemento {0} è stato aggiornato. {0} is invalid. - {0} non è valido. + L'elemento {0} non è valido. @@ -245,7 +245,7 @@ {0} not found. - {0} non è stato trovato. + L'elemento {0} non è stato trovato. @@ -265,7 +265,7 @@ {0} does not exist. - {0} non esiste. + L'elemento {0} non esiste. @@ -300,7 +300,7 @@ {0} was not expected. - {0} è imprevisto. + L'elemento {0} non è previsto. diff --git a/src/dotnet/xlf/LocalizableStrings.ja.xlf b/src/dotnet/xlf/LocalizableStrings.ja.xlf index afce6cda0..d903eb1f8 100644 --- a/src/dotnet/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/LocalizableStrings.ja.xlf @@ -155,7 +155,7 @@ Save - [保存] + 保存 @@ -375,7 +375,7 @@ Found more than one solution file in {0}. Please specify which one to use. - {0} に複数のソリューションが見つかりました。使用するプロジェクトを指定してください。 + {0} に複数のソリューションが見つかりました。どれを使用するか指定してください。 @@ -555,7 +555,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - プロジェクト {1} 内に {0} 参照がありません。;; {0} は要求中のアイテムの種類であり (プロジェクト、パッケージ、p2p)、{1} は (プロジェクト ファイルまたはソリューション ファイル) で操作されるオブジェクトです。 + プロジェクト {1} 内に {0} 参照がありません。;; {0} は要求中のアイテムの種類であり (プロジェクト、パッケージ、p2p)、{1} は操作されるオブジェクト (プロジェクト ファイルまたはソリューション ファイル) です。 diff --git a/src/dotnet/xlf/LocalizableStrings.ko.xlf b/src/dotnet/xlf/LocalizableStrings.ko.xlf index 8cd26acff..f0c6a3e48 100644 --- a/src/dotnet/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/LocalizableStrings.ko.xlf @@ -10,7 +10,7 @@ Found more than one project in `{0}`. Please specify which one to use. - '{0}'에서 프로젝트를 두 개 이상 찾았습니다. 사용할 파일을 지정하세요. + '{0}'에서 프로젝트를 두 개 이상 찾았습니다. 사용할 프로젝트를 지정하세요. @@ -350,7 +350,7 @@ Found more than one project in `{0}`. Please specify which one to use. - '{0}'에서 프로젝트를 두 개 이상 찾았습니다. 사용할 파일을 지정하세요. + '{0}'에서 프로젝트를 두 개 이상 찾았습니다. 사용할 프로젝트를 지정하세요. diff --git a/src/dotnet/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/LocalizableStrings.pt-BR.xlf index 6a4311c6a..902077ffe 100644 --- a/src/dotnet/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/LocalizableStrings.pt-BR.xlf @@ -10,12 +10,12 @@ Found more than one project in `{0}`. Please specify which one to use. - Foi encontrado mais de um projeto em ‘{0}’. Especifique qual usar. + Foi encontrado mais de um projeto em ‘{0}’. Especifique qual deve ser usado. Project already has a reference to `{0}`. - O projeto já tem uma referência para ‘{0}’. + O projeto já tem uma referência a ‘{0}’. @@ -350,7 +350,8 @@ Found more than one project in `{0}`. Please specify which one to use. - Foi encontrado mais de um projeto em ‘{0}’. Especifique qual usar. + Foi encontrado mais de um projeto em ‘{0}’. Especifique qual deve ser usado. + @@ -370,7 +371,8 @@ Could not find solution or directory `{0}`. - Não foi possível encontrar a solução ou diretório ‘{0}’. + Não foi possível encontrar a solução ou o diretório ‘{0}’. + @@ -555,7 +557,8 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Não há referências {0} no projeto {1}. ;; {0} é o tipo do item sendo solicitado (projeto, pacote, p2p) e {1} é o objeto no qual ocorre a operação (um arquivo de projeto ou um arquivo de solução). + Não há referências de {0} no projeto {1}. ;; {0} é o tipo do item que está sendo solicitado (projeto, pacote, p2p) e {1} é o objeto no qual ocorre a operação (um arquivo de projeto ou de solução). + diff --git a/src/dotnet/xlf/LocalizableStrings.ru.xlf b/src/dotnet/xlf/LocalizableStrings.ru.xlf index 08b228df5..f4a65550f 100644 --- a/src/dotnet/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/LocalizableStrings.ru.xlf @@ -130,7 +130,7 @@ Delete - Удаление. + Удалить diff --git a/src/dotnet/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/LocalizableStrings.zh-Hans.xlf index 70cc1c504..44736fb34 100644 --- a/src/dotnet/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/LocalizableStrings.zh-Hans.xlf @@ -555,7 +555,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - 项目 {1} 中没有 {0} 引用。;; {0} 是正在请求的项类型(项目、包、p2p)且 {1} 是项目文件或解决方案文件上操作的对象。 + 项目 {1} 中没有 {0} 引用。;; {0} 是正在请求的项类型(项目、包、p2p),{1} 是操作的对象(项目文件或解决方案文件)。 diff --git a/src/dotnet/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/LocalizableStrings.zh-Hant.xlf index e6c3003b1..d8e7b3038 100644 --- a/src/dotnet/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/LocalizableStrings.zh-Hant.xlf @@ -140,7 +140,7 @@ New - 新增 + 新建 @@ -300,7 +300,7 @@ {0} was not expected. - 未預期是 {0}。 + 不應該是 {0}。 diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 05a2b52c0..7ce296c7e 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -259,7 +259,7 @@ diff --git a/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs b/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs index 18086970a..b62ee4862 100644 --- a/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs +++ b/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs @@ -18,7 +18,7 @@ namespace EndToEnd private const string PinnedAspNetCoreImplicitVersion = "2.1.1"; - [Fact] + [Fact(Skip="https://github.com/dotnet/cli/issues/9687")] public void PortablePublishWithLatestTFMUsesPinnedDownAspNetCoreAppVersion() { var _testInstance = TestAssets.Get(AspNetTestProject) @@ -208,7 +208,7 @@ namespace EndToEnd ?.Version; } - public static string LatestSupportedAspNetCoreAppVersion = "2.1"; + public static string LatestSupportedAspNetCoreAppVersion = "2.2"; public static IEnumerable SupportedAspNetCoreAppVersions { diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index 9c79fb94e..7e15e25b8 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -72,7 +72,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd .HaveStdOutContaining("Hello Portable World!");; } - [Fact] + [Fact(Skip="https://github.com/dotnet/cli/issues/9688")] public void ItCanRunToolsThatPrefersTheCliRuntimeEvenWhenTheToolItselfDeclaresADifferentRuntime() { var testInstance = TestAssets.Get("MSBuildTestApp") @@ -89,7 +89,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd .And.HaveStdOutContaining("Hello I prefer the cli runtime World!");; } - [Fact] + [Fact(Skip="https://github.com/dotnet/cli/issues/9688")] public void ItCanRunAToolThatInvokesADependencyToolInACSProj() { var repoDirectoriesProvider = new RepoDirectoriesProvider(); @@ -112,7 +112,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd new DotnetCommand(DotnetUnderTest.WithBackwardsCompatibleRuntimes) .WithWorkingDirectory(testProjectDirectory) .ExecuteWithCapturedOutput( - $"-d dependency-tool-invoker -c {configuration} -f netcoreapp2.1 portable") + $"-d dependency-tool-invoker -c {configuration} -f netcoreapp2.2 portable") .Should().Pass() .And.HaveStdOutContaining("Hello Portable World!");; } diff --git a/test/EndToEnd/GivenSelfContainedAppsRollForward.cs b/test/EndToEnd/GivenSelfContainedAppsRollForward.cs index b624cd14f..8061e98d0 100644 --- a/test/EndToEnd/GivenSelfContainedAppsRollForward.cs +++ b/test/EndToEnd/GivenSelfContainedAppsRollForward.cs @@ -21,6 +21,13 @@ namespace EndToEnd [ClassData(typeof(SupportedNetCoreAppVersions))] public void ItRollsForwardToTheLatestVersion(string minorVersion) { + // https://github.com/dotnet/cli/issues/9661: remove this once the ASP.NET version bump + // merges from 2.1.3xx -> 2.1.4xx -> 2.2.1xx + if (minorVersion == "2.1") + { + return; + } + var _testInstance = TestAssets.Get("TestAppSimple") .CreateInstance(identifier: minorVersion) .WithSourceFiles(); diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs index a3f5976f5..71edf4f15 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs @@ -190,7 +190,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests .Should().Pass(); var factory = new ProjectDependenciesCommandFactory( - NuGetFrameworks.NetCoreApp21, + NuGetFrameworks.NetCoreApp22, configuration, null, null, @@ -199,7 +199,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests var command = factory.Create("dotnet-tool-with-output-name", null); command.CommandArgs.Should().Contain( - Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp2.1", "dotnet-tool-with-output-name.dll")); + Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp2.2", "dotnet-tool-with-output-name.dll")); } } } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs index a7b6c402e..09bbc28df 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs @@ -48,7 +48,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = NuGetFrameworks.NetCoreApp21 + Framework = NuGetFrameworks.NetCoreApp22 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -84,7 +84,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = NuGetFrameworks.NetCoreApp21 + Framework = NuGetFrameworks.NetCoreApp22 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -110,7 +110,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "nonexistent-command", CommandArguments = null, ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = NuGetFrameworks.NetCoreApp21 + Framework = NuGetFrameworks.NetCoreApp22 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -136,7 +136,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = testInstance.Root.FullName, - Framework = NuGetFrameworks.NetCoreApp21, + Framework = NuGetFrameworks.NetCoreApp22, OutputPath = outputDir.FullName }; diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index b031a50ee..9cb3f69dd 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Tests public class GivenAProjectToolsCommandResolver : TestBase { private static readonly NuGetFramework s_toolPackageFramework = - NuGetFrameworks.NetCoreApp21; + NuGetFrameworks.NetCoreApp22; private const string TestProjectName = "AppWithToolDependency"; @@ -304,7 +304,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.1.2"); + result.Args.Should().Contain("--fx-version 2.2.0"); } [Fact] @@ -370,7 +370,7 @@ namespace Microsoft.DotNet.Tests "dotnet-fallbackfoldertool", "1.0.0", "lib", - "netcoreapp2.1", + "netcoreapp2.2", "dotnet-fallbackfoldertool.dll")); } diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs index c82d78051..a7ad2fa18 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs @@ -10,5 +10,8 @@ namespace Microsoft.DotNet.Tools.Tests.Utilities { public static readonly NuGetFramework NetCoreApp21 = new NuGetFramework(FrameworkConstants.FrameworkIdentifiers.NetCoreApp, new Version(2, 1, 0, 0)); + + public static readonly NuGetFramework NetCoreApp22 + = new NuGetFramework(FrameworkConstants.FrameworkIdentifiers.NetCoreApp, new Version(2, 2, 0, 0)); } } diff --git a/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs b/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs index 268c64f33..bdcad464a 100644 --- a/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs +++ b/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs @@ -107,7 +107,7 @@ namespace Microsoft.DotNet.Cli.Package.Add.Tests var packageName = "Newtonsoft.Json"; var packageVersion = "9.0.1"; - var framework = "netcoreapp2.1"; + var framework = "netcoreapp2.2"; var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput($"add package {packageName} --version {packageVersion} --framework {framework}"); diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index 26845ee01..15f8527c8 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -29,7 +29,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.1") + var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.2") .GetFile($"{testAppName}.dll"); var outputRunCommand = new DotnetCommand(); @@ -66,7 +66,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests new BuildCommand() .WithWorkingDirectory(projectDirectory) - .Execute("--framework netcoreapp2.1") + .Execute("--framework netcoreapp2.2") .Should().Pass(); } diff --git a/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs b/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs index 474a7f2b1..a4210cb4b 100644 --- a/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs +++ b/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.Cli.Clean.Tests .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputFolder = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.1", "win7-x64"); + var outputFolder = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.2", "win7-x64"); outputFolder.Should().NotBeEmpty(); diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index fc16d412f..d63d844b3 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -74,15 +74,16 @@ namespace Microsoft.DotNet.New.Tests .Should().Pass(); } + // Remove the expectedVersion parameter once we have templates targetting netcoreapp2.2. [Theory] - // [InlineData("console", "microsoft.netcore.app")] re-enable when this issue is resolved: "https://github.com/dotnet/cli/issues/9420" - [InlineData("classlib", "netstandard.library")] - public void NewProjectRestoresCorrectPackageVersion(string type, string packageName) + [InlineData("console", "microsoft.netcore.app", "2.1.0")] + [InlineData("classlib", "netstandard.library", null)] + public void NewProjectRestoresCorrectPackageVersion(string type, string packageName, string expectedVersion) { var rootPath = TestAssets.CreateTestDirectory(identifier: $"_{type}").FullName; var packagesDirectory = Path.Combine(rootPath, "packages"); var projectName = "Project"; - var expectedVersion = GetFrameworkPackageVersion(); + expectedVersion = expectedVersion ?? GetFrameworkPackageVersion(); var repoRootNuGetConfig = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); @@ -106,7 +107,7 @@ namespace Microsoft.DotNet.New.Tests var sharedFxDir = dotnetDir .GetDirectory("shared", "Microsoft.NETCore.App") .EnumerateDirectories() - .Single(d => d.Name.StartsWith("2.1.2")); + .Single(d => d.Name.StartsWith("2.2.0")); if (packageName == "microsoft.netcore.app") { diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index d78108d3e..ba51449fe 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -34,11 +34,11 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp2.1") + .Execute("--framework netcoreapp2.2") .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp2.1", "publish", $"{testAppName}.dll"); + var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp2.2", "publish", $"{testAppName}.dll"); new DotnetCommand() .ExecuteWithCapturedOutput(outputDll) @@ -58,7 +58,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp2.1") + .Execute("--framework netcoreapp2.2") .Should().Pass(); } @@ -75,7 +75,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(projectDirectory) - .Execute("--framework netcoreapp2.1") + .Execute("--framework netcoreapp2.2") .Should().Pass(); } @@ -91,7 +91,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.1 --no-restore") + .ExecuteWithCapturedOutput("--framework netcoreapp2.2 --no-restore") .Should().Fail() .And.HaveStdOutContaining("project.assets.json"); } @@ -175,7 +175,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; return testProjectDirectory - .GetDirectory("bin", configuration, "netcoreapp2.1", rid ?? "", "publish"); + .GetDirectory("bin", configuration, "netcoreapp2.2", rid ?? "", "publish"); } [Fact] diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index f85d7446e..abc0108d3 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -70,7 +70,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(projectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.1") + .ExecuteWithCapturedOutput("--framework netcoreapp2.2") .Should().Pass() .And.HaveStdOutContaining("This string came from the test library!"); } @@ -150,7 +150,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.1") + .ExecuteWithCapturedOutput("--framework netcoreapp2.2") .Should().Pass() .And.HaveStdOut("Hello World!"); } diff --git a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs index a0e95d8f9..e51af937f 100644 --- a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs +++ b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs @@ -13,7 +13,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests { public class GivenDotnetStoresAndPublishesProjects : TestBase { - private static string _tfm = "netcoreapp2.1"; + private static string _tfm = "netcoreapp2.2"; private static string _frameworkVersion = TestAssetInstance.CurrentRuntimeFrameworkVersion; private static string _arch = RuntimeEnvironment.RuntimeArchitecture.ToLowerInvariant(); diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs index c64cdfc4e..25c3b3894 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs @@ -127,7 +127,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests new DotnetTestCommand() .WithWorkingDirectory(projectDirectory) - .ExecuteWithCapturedOutput($"{TestBase.ConsoleLoggerOutputNormal} --framework netcoreapp2.1") + .ExecuteWithCapturedOutput($"{TestBase.ConsoleLoggerOutputNormal} --framework netcoreapp2.2") .Should().Pass(); } } diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 7121959fe..10fada845 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -172,7 +172,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests var testProjectDirectory = this.CopyAndRestoreVSTestDotNetCoreTestApp("5"); string configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; string expectedError = Path.Combine(testProjectDirectory, "bin", - configuration, "netcoreapp2.1", "VSTestCore.dll"); + configuration, "netcoreapp2.2", "VSTestCore.dll"); expectedError = "The test source file " + "\"" + expectedError + "\"" + " provided was not found."; // Call test diff --git a/test/dotnet-vstest.Tests/VSTestTests.cs b/test/dotnet-vstest.Tests/VSTestTests.cs index c6a7dd035..4f6cb5983 100644 --- a/test/dotnet-vstest.Tests/VSTestTests.cs +++ b/test/dotnet-vstest.Tests/VSTestTests.cs @@ -31,7 +31,7 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests .Should().Pass(); var outputDll = testRoot - .GetDirectory("bin", configuration, "netcoreapp2.1") + .GetDirectory("bin", configuration, "netcoreapp2.2") .GetFile($"{testAppName}.dll"); var argsForVstest = $"\"{outputDll.FullName}\" --logger:console;verbosity=normal"; diff --git a/test/dotnet.Tests/GivenThatICareAboutVBApps.cs b/test/dotnet.Tests/GivenThatICareAboutVBApps.cs index 26fb40dd4..3b97b291c 100644 --- a/test/dotnet.Tests/GivenThatICareAboutVBApps.cs +++ b/test/dotnet.Tests/GivenThatICareAboutVBApps.cs @@ -57,7 +57,7 @@ namespace Microsoft.DotNet.Tests _testInstance.Root.FullName, "bin", configuration, - "netcoreapp2.1", + "netcoreapp2.2", "publish", "VBTestApp.dll"); diff --git a/test/dotnet.Tests/PackagedCommandTests.cs b/test/dotnet.Tests/PackagedCommandTests.cs index 6e36eb87f..8deabc172 100644 --- a/test/dotnet.Tests/PackagedCommandTests.cs +++ b/test/dotnet.Tests/PackagedCommandTests.cs @@ -239,7 +239,7 @@ namespace Microsoft.DotNet.Tests .And.Pass(); } - [Fact] + [Fact(Skip="https://github.com/dotnet/cli/issues/9688")] public void CanInvokeToolFromDirectDependenciesIfPackageNameDifferentFromToolName() { var testInstance = TestAssets.Get("AppWithDirectDepWithOutputName") @@ -247,7 +247,7 @@ namespace Microsoft.DotNet.Tests .WithSourceFiles() .WithRestoreFiles(); - string framework = Tools.Tests.Utilities.NuGetFrameworks.NetCoreApp21.DotNetFrameworkName; + string framework = Tools.Tests.Utilities.NuGetFrameworks.NetCoreApp22.DotNetFrameworkName; new BuildCommand() .WithProjectDirectory(testInstance.Root) @@ -369,7 +369,7 @@ namespace Microsoft.DotNet.Tests .Should().Fail(); } - [Fact] + [Fact(Skip="https://github.com/dotnet/cli/issues/9688")] public void ToolsCanAccessDependencyContextProperly() { var testInstance = TestAssets.Get("DependencyContextFromTool") @@ -423,7 +423,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp2.1") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp2.2") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); diff --git a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj index 161f48c70..0ca594efa 100644 --- a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj +++ b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj @@ -1,6 +1,6 @@  - netcoreapp2.0 + netcoreapp2.2 $(SharedFrameworkRid)