Previously, Razor server discovery for the `build-server shutdown` command was
implemented by invoking MSBuild on a project file in the current directory to
evaluate the path to the Razor server dll. This was problematic since it would
only discover a single running Razor server instance and required that the user
run the `build-server shutdown` command from a specific location.
Razor's server now writes a "pid file" to a well-known location
(`~/.dotnet/pids/build`) which the command can now enumerate to discover, and
shutdown, the running Razor servers.
This commit changes the Razor server discovery to use the pid files and removes
the requirement that users need to run the command in specific directories to
work.
Fixes#9084.
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.