We were publishing a -debug zip with sdk code and symbols, but it was captured before
publishing was finished and had incorrect code content. Trying to use it would blow up
due to incorrect runtimeconfig.json.
Replace it with a -symbols zip that contains only symbols and that can be overlayed
over the main zip. This is just like the -langpack zip that has satellite assemblies.
Also add an option to leave the PDBs in the same directory/packages as code:
/p:SeparateSymbolsArchive=false. Setting this on local builds facilitates
debugging and profiling by removing the need to adjust symbol paths or copy PDBs
around.
It is not currently possible when there is a -f|--framework argument because
we cannot force a TargetFramework global property on to the restore evaluation.
Doing so completely breaks restore by applying the TargetFramework to all
projects transitively. The correct behavior is to restore for all frameworks,
then build/publish/etc for the given target framework. Achieving that still
requires two distinct msbuild invocations.
This also changes the verbosity of implicit restore from quiet to that
of the subsequent command (default=minimal). Similar to global properties,
we cannot specify a distinct console verbosity for the /restore portion of
the overall execution. For consistency, we apply the same verbosity change
to the case where we still use two separate msbuild invocations.
This also fixes an issue where the separate restore invocation's msbuild log
would be overwritten by the subsequent command execution. However, this remains
unfixed in the case where we still use two separate msbuild invocations.
We were taking care to set the console verbosity to minimal, but
only when no verbosity argument is passed. However, the default
verbosity for all CLI msbuild commands is already minimal and so
we can just get out of the way.
On Windows, `PathUtility.GetRelativePath` was not properly handling
paths that differed by case in the drive reference (e.g. "C:\" vs.
"c:\"). The fix was to add the missing case-insensitive comparison
argument.
Replaced uses of `PathUtility.GetRelativePath` with
`Path.GetRelativePath` where possible (requires 2.0.0+).
Additionally, `PathUtility.RemoveExtraPathSeparators` was not handling
paths with drive references on Windows. If the path contained a drive
reference, the separator between the drive reference and the first part
of the path was removed. This is due to `Path.Combine` not handling
this case, so an explicit concatenation of the separator was added.
This commit resolves issue #7699.
* 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
...
1. Publish satellites with a separate project and merge the resulting .deps.json
into (csc|vbc).deps.json
2. Move the build tasks satellites to the correct location next to main assembly
(one level higher than bincore\)