On Windows, the Razor server correctly creates the pid file with
`FileAccess.Write` and `FileOptions.DeleteOnClose`. This requires a share mode
of `FileShare.Write | FileShare.Delete` to open. However, the
`dotnet build-server shutdown` command was opening the file with
`FileShare.Read`. As a result, an `IOException` was being thrown and was not
handled.
This change first opens the file with the appropriate share access and also
properly handles a failure to access or read the contents of the pid file.
Additionally, an integration test was added to test that Razor server shutdown
works as expected.
Fixes#9158.
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.
This commit ensures the correct property (`ProjectTypeGuids`) is respected when
adding a project to a solution file.
Additionally, we now error if a project type GUID cannot be determined rather
than incorrectly mapping to the C# project type.
Enabled previously disabled tests that were waiting on upstream changes from
MSBuild and F#.
Fixes#5131.
Fixes#7742.
Implement a simple launcher tool for running new processes on Windows
- This application takes two parameters via the .exe.config configuration file
- entryPoint: required - the file path to the new process being launched
- runner: optional - the executable or interpretter used to launch the
entryPoint
- Update dotnet-install-tool to generate an exe instead of a batch script file
This change is to add Sdk.props and Sdk.targets of Microsoft.Docker.Sdk
into CLI. This unblocks the scenario where a VS solution contains a few
.NET Core projects as well as a docker-compose.dcproj project and people
want to build the solution from command line with .NET Core CLI. With
the Sdk.props and Sdk.targets being present in CLI, building
docker-compose.dcproj becomes no-op so it won't block building the other
.NET Core projects.
This commit implements solution configuration to project configuration mapping.
Previously, when a project was added to the solution with the `sln add`
command, solution configurations would be mapped to a project configuration and
platform of the same name, regardless of whether or not the project had a
configuration or platform of that name. This caused the solution to appear
dirty when opened in Visual Studio if the configuration or platform did not
exist at the project level because Visual Studio would attempt to correct the
mapping.
The fix is to check what configurations and platforms are supported by the
project and only map to what is present. If a solution configuration can't be
mapped, the first configuration/platform supported by the project is chosen;
this is consistent with how Visual Studio does the fallback mapping.
Fixes#6221.
This change enables CLI build for Alpine 3.6 and also adds CI job for
it. It is mostly based on changes that were necessary to
enable building of rhel.6 CLI
This commit adds support for specifying directories containing a single
project to both the `sln add` and `sln remove` commands.
Additionally, the output from `sln remove` has been improved to not
mention "project references".
Fixes issue #7343.
* dotnet/release/15.5: (26 commits)
Fixing the reference to Microsoft.Build.Runtime from Cli.Utils.Tests. It was using the wrong package version property.
One more old style version package name needed to change in redist.
Fixing the versions of MSBuild and passing the right property to find roslyn files.
Use "15.5.179" for the other Microsoft.Build.* packages
Moving the 'MicrosoftBuildPackageVersion' forward.
Fixing "RuntimeFrameworkVersion"
Updating version naming convention.
Fixed a typo...
Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
Even more package dependency re-names...
Third pass clean-up of package names.
Second pass clean-up of package names; resequencing download.
Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
Fixed another typo...
Fixed typo...
The first pass will need the extra args [same as run-build.ps1].
Dependency Uptake: download and import a package version props file.
Accounting for MSRC builds with pre-set 'CoreSetupBlobRootUrl' and 'CoreSetupBlobAccessToke' properties.
Changes per code review...
...
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj
TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj
TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj
build/BundledTemplates.props
build/DependencyVersions.props
build/NugetConfigFile.targets
build/Test.targets
build_projects/dotnet-cli-build/dotnet-cli-build.csproj
dir.props
run-build.sh
src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj
src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj
src/dotnet/dotnet.csproj
src/redist/redist.csproj
src/tool_fsharp/tool_fsc.csproj
test/ArgumentForwardingTests/ArgumentForwardingTests.csproj
test/EndToEnd/EndToEnd.csproj
test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj
test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj
test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj
test/binding-redirects.Tests/binding-redirects.Tests.csproj
test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj
test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj
test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj
test/dotnet-help.Tests/dotnet-help.Tests.csproj
test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj
test/dotnet-new.Tests/dotnet-new.Tests.csproj
test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj
test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj
test/dotnet-restore.Tests/dotnet-restore.Tests.csproj
test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj
test/dotnet.Tests/dotnet.Tests.csproj
* dotnet/release/2.0.0:
Fixed a typo...
Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
Even more package dependency re-names...
Third pass clean-up of package names.
Second pass clean-up of package names; resequencing download.
Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
Fixed another typo...
Fixed typo...
The first pass will need the extra args [same as run-build.ps1].
Dependency Uptake: download and import a package version props file.
Conflicts:
build/DependencyVersions.props
src/redist/redist.csproj
src/tool_roslyn/tool_roslyn.csproj
This commit fixes#6198.
When a project is removed from a solution using the `sln remove`
command, any projects in the solution with a project dependency (note:
this is different from a project reference) on the project should have
the project removed as a dependency.
The fix is to scan the projects in the solution and remove any
dependencies on the projects being removed. If the dependencies section
is empty after the remove, we skip serialization of the section like
Visual Studio does.
* dotnet/release/15.5: (21 commits)
Manually merging some changes that git merged wrong and deleted from the 15.5 branch.
Separating the 'legacy' URL construction from the 'current' URL construction methods and logic.
Use temporary path for fake deps.json in test
Use same build number for roslyn and F# satellites
Updating Roslyn satellites and SDK versions
Insert NuGet Build 4.5.0-preview2-4529 into cli
Update NuGet to 4529 (signed)
MSBuild 15.5.154
MSBuild 15.5.153
removed commented out config I'd meant to remove
added a way to specify the asp.net template versions
Porting 'dotnet-install.sh' from CLI:master to CLI:release/2.0.0
'NuGet.master.config' does not appear to be used.
Fixed tests
Update branch info to release/15.5
Updating the websdk version to 2.0.0-rel-20171010-665
Insert NuGet Build 4.5.0-preview1-4526 into cli
Update DependencyVersions.props
Updated version of TestPlatform to 15.5.0-preview-20170923-02
MSBuild 15.4.8
...
This change enables RHEL 6 support. It also adds a new command line option to the
run-build.sh script that enables passing in a folder containing a bootstrap CLI.
This helps in bringup of new target platforms.