* master:
Adding a Wpf and Winforms templates registry key (#218)
Update coresetup to preview-27218-01 (#216)
Update WindowsDesktop Framework (#215)
Update coresetup to preview-27217-02 (#214)
Update coresetup to preview-27217-01
Update coresetup to preview-27216-02 (#211)
make GivenDotnetUsesDotnetTools test optional based on AspNetCore availability (#207)
Update DependencyVersions.props
Include the WindowsDesktop sharedframework in install 'Finish' page. (#208)
Update readme; core-sdk:master (#209)
Update WindowsDesktop
Update toolset
Update coresetup to preview-27214-02
change debug to Debug to match managed part
add entry for freebsd to badge processing
update stage0 sdk to 3.0 preview
Update coresetup to preview-27206-02 (#202)
initial support for freebsd
This appears to be a difference between the 2.2.0-preview SDK currently
being used in core-sdk and the 2.1.401-preview SDK currently being used
in source-build. In the 2.2.0 SDK, this target happens to run before
the resolved package list is used, but in the 2.1.401 it is not, so I
added the explicit dependency (doesn't affect anything in the 2.2.0 SDK).
* 'master' of /Users/livarcocc/Documents/git/cli: (1063 commits)
Updating signing project to use new intermediate directory (int).
Update runtimeconfig.json doc for 2.1 (#9382)
Shortening the path to the intermediate folder by renaming it to int.
fix typo (#9364)
Updating asp.net to 2.2.0 as well.
Updating the build and tests to work with the 2.2.0 runtime.
Simplified combining dictionaries in Telemetry
Fixing 'Channel' and 'BranchName': "release/2.1.4xx" to "master" (#9362)
Fix extraction of folders (#9335)
Update Sha256Hasher.cs
Fix relative path tool path (#9330)
Insert updated SDK from 2.1.4xx branch
MSBuild 15.8.60
Fix crash when user home directory cannot be determined.
Make `CliFolderPathCalculator` a static class.
Don't add the ReleaseSuffix to the branding on the CLI when DropSuffix is set to true.
Add retry when Directory.Move (#9313)
Override new SdkResult public properties
Add reference to Microsoft.Build.NuGetSdkResolver
Disable crossgen for MSBuild inline-task refs
...
Currently, dotnet will crash with an `ArgumentNullException` if `USERPROFILE`
(Windows) or `HOME` (macOS and Linux) is not set in the environment. This
is because there is a missing null check after retrieving the environment
variable's value. Additionally, if either variable is set to an empty string,
a `.dotnet` directory is created in the current directory where dotnet is being
run.
This commit fixes this by printing a graceful error informing the user the home
directory could not be determined and to set `DOTNET_CLI_HOME` to the directory
to use. This variable will be respected before `USERPROFILE` or `HOME`. It is
likely that CI environments where `HOME` is not set can use `DOTNET_CLI_HOME`
to specify a local temporary location; by using this variable rather than
setting `HOME`, it is guaranteed to only affect dotnet.
It was discussed that we should perhaps fallback to some temporary location if
the home directory could not be determined, but NuGet currently requires `HOME`
to be set to work. Because of this, it was decided that we should just handle
this case gracefully and provide a way for users to override the home directory
without relying on `USERPROFILE`/`HOME` entirely.
Closes#8053.
This commit attempts to make the command line help user experience for `dotnet`
more consistent for all of the built-in SDK commands.
The following has been changed:
* Organized the top-level help into a section detailing how to run .NET
applications and a section on running SDK commands.
* Sorted the SDK commands by name (previous ordering was undefined).
* Removed `--verbosity` from the "common options section" since it is not a
top-level option, nor is it common to all commands.
* Added missing parameter names for parameterized options (especially for the
`dotnet tool` subcommands).
* Fixed the localization of parameter names for parameterized options.
* Added missing `PROJECT` parameter to a few commands.
* Fixed the localization of the build command's `PROJECT` parameter description.
* Fixed the confusing descriptions for the `--framework`, `--configuration`,
and `--runtime` options that were being shared between different commands.
* Fixed the "unknown command" error for `dotnet help <command>` to show in red.
* Deleted .resx for `dotnet msbuild` that is no longer used.
* Change the option descriptions to be more consistent in their grammatical
structure.
* Removed extra blank line from end of help output.
Fixes#7431.
Fixes#9230.
Fixes#9165.
This commit adds a few simple unit tests to cover the `dotnet complete`
command.
It only checks the top-level output, integration with the `new`
command from the templating engine, and the custom `nuget` command parser that
is solely intended for use with `dotnet complete`.
This commit removes `internal-reportinstallsuccess` from `dotnet complete` by
changing the command's help text to an empty string. This causes the parser to
treat the command as hidden and does not match the command name for
suggestions.
Fixes#9111.
This commit improves command completion by updating the `new` and `nuget` parsers to
match their current supported syntax. Removes the unnecessary description
strings that were not used (these commands are parsed by assemblies external to
the CLI). The top level options are also sync'd to the currently supported
options.
Additionally, it unhides the `msbuild` and `vstest` commands so that `dotnet
complete` suggests them.
Fixes#9286.