This commit ensures that any `/property` option's value is surrounded by quotes
to allow MSBuild to properly interpret special characters like semicolons.
Users familiar with MSBuild expect `/property:Name="Value"` to handle
semicolons. However, since `dotnet` parses the command line first, the
quotes get processed by its command line parser. This results in
`/property:Name=Value` being passed to MSBuild, which will not parse a "Value"
containing a semicolon correctly.
Since it is safe to always quote the property value for this option, this fix
simply ensures that the value is surrounded by quotes.
This fixes the issue for all commands that forward arguments to MSBuild.
Fixes#7791.
Should use MsBuildProjectExtensionsPath instead.
Change the property passin by project file instead of command line. It is more reliable passing path in xml and also the timing of MsBuildProjectExtensionsPath is controlled. (Before loading SDK)
Change mock fake project to use “;” instead, since c:\path contains “:”.
Give a different error to guide use to install via global tools so, if several bundled DotnetTools cannot finish source build on time. The user can use global tools to get it.
The original plan that adding a different resolver is hard due to resolver can only find dll that will be used to spawn a process. However, the command constructor will give an error message when resolver find null. By adding a different error when the command name is part of the list, it can achieve the same goal.
* master: (49 commits)
Add back 'nuget-build' feed for: NuGet.Versioning 4.7.0-rtm.5081
Slight re-ordering...
Add back 'Roslyn' feed for: Microsoft.NETCore.Compilers 2.8.0-beta4-62811-05
Trim back the 'unnecessary' nuget feeds.
Insert NuGet Build 4.7.0-rtm.5081 into cli
Terminate the 'StartsWith' string in the badge existence check. (#9049)
Update coresetup, coresetup, coresetup, roslyn to preview3-26411-06, preview3-26411-06, preview3-26411-06, beta4-62811-05, respectively
consume bring your own shim(byos) (#9018)
Fixing typos...
Updating the dev-certs message displayed in the first run experience.
Fix merge to only update core-setup and Roslyn versions.
LOC CHECKIN | dotnet/cli master | 20180409
Add TryGetMostFitRuntimeIdentifier (#8997)
Adapt to no config file Apphost shim
Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview3-26406-06, preview3-26406-06, preview3-26406-06, beta4-62806-08, respectively
Revert links on Readme to master
Add test cases per PR feedback
Tweak --no-build messages based on PR feedback
Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview3-26405-02, preview3-26405-02, preview3-26405-02, beta4-62805-01, respectively
Disabling msbuild node reuse for CLI full build.
...
Conflicts:
build/DependencyVersions.props
* Introduce support for arm & arm64 architectures; when detecting a missing 'library' prerequisite - do not fail the installation.
* Auto-detect 'armv7l' and 'aarch64'
If there are shims packaged by convention in nupkg. Shim Repository will simply copy it to the right location.
The query interface ToolPackageInstance will be in charge of finding the shim folder and filter the right RID. Shim Repository will pick the right file after the folder is located since Shim Repository knows the shim name and it also book keep the files at uninstallation.
During development, due to the wrong adapter level. The mock duplicated too much logic. So, I corrected the abstraction level to lower (only create shim). And replaced the existing mock with a much smaller one without any atomic control and file move, copy logic. At the same time. The chmod, which is a IO action, causes problem during tests. So I added adapter layer to it and put it in Util.