Bump MSBuild Version to 15.1.0-preview-000503-01 #5199
Bump MSBuild Version to 15.1.0-preview-000503-01 #5199
Conversation
@jeffkl looks like the change you were telling us about [ |
For reference:
|
Yes you'll need to either place the Roslyn stuff under a Roslyn subfolder or set |
273ef12
to
7d32239
Compare
@dotnet-bot test Ubuntu x64 Release Build please. |
7d32239
to
8bbec61
Compare
@jaredpar FYI, 2.0.0-rc3-61212-03 is the maximum version of Roslyn we were able to move to. The next version took on System.Security.Cryptography* 4.3.0 which is > what is in the 1.0.0-1.0.3 shared frameworks. 4.3.0 IS available in NetCore.App 1.1, but we have a number of blockers to get through before CLI can be made to function there, so we're capped at the moment. |
@@ -124,7 +124,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.TestFramew | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "redist", "src\redist\redist.csproj", "{098D9321-1201-4974-A75E-F58EBCD98ACF}" | |||
EndProject | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tool_csc", "src\tool_csc\tool_csc.csproj", "{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}" | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tool_roslyn", "src\tool_roslyn\tool_roslyn.csproj", "{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C}" |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -5,6 +5,7 @@ | |||
<clear /> | |||
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" /> | |||
<add key="cli-deps" value="https://dotnet.myget.org/F/cli-deps/api/v3/index.json" /> | |||
<add key="roslyn" value="https://dotnet.myget.org/f/roslyn/api/v3/index.json" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -15,9 +16,6 @@ | |||
<CLITargets Condition=" '$(CLITargets)' == '' ">Prepare;Compile;Test;Package;Publish</CLITargets> | |||
|
|||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot> | |||
<CLIBuildFileName>$(RepoRoot)/build_projects/dotnet-cli-build/bin/dotnet-cli-build</CLIBuildFileName> | |||
<CLIBuildDll>$(CLIBuildFileName).dll</CLIBuildDll> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -10,9 +10,8 @@ | |||
|
|||
<ItemGroup> | |||
<PublishOutputExtensions Include="$(ExeExtension);.dll;.pdb;.deps.json;.runtimeconfig.json" /> | |||
<FilesToMove Include="$(BinaryToCorehostifyRelDir)/csc.exe;" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Output="$(SdkOutputDirectory)/Roslyn" | ||
Configuration="$(Configuration)" | ||
VersionSuffix="$(CommitCount)" | ||
ProjectPath="$(SrcDirectory)/tool_roslyn/tool_roslyn.csproj" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<CLI_NETSDK_Version>1.0.0-alpha-20161230-1</CLI_NETSDK_Version> | ||
<CLI_Roslyn_Version>2.0.0-rc3-61212-03</CLI_Roslyn_Version> | ||
<CLI_WEBSDK_Version>1.0.0-alpha-20161205-1-154</CLI_WEBSDK_Version> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<PropertyGroup> | ||
<NuGetPackagesDir>$(NUGET_PACKAGES)</NuGetPackagesDir> | ||
<NuGetPackagesDir Condition=" '$(NuGetPackagesDir)' == '' ">$(RepoRoot)/.nuget/packages</NuGetPackagesDir> | ||
</PropertyGroup> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Is the plan to eventually move to Net Core App 1.1 though? |
@jaredpar eventually... We hoped to do this in 1.0 but hit blockers. Right now moving cli onto 1.1 is not a priority. |
Think we need to start a conversation with @tmat then. He is the one that pushed us to Net Core 1.1. Based on my understanding of the dependencies here, admittedly limited, this means that CLI would need to be a Net App 1.1 in order to properly consume us. |
ProjectPath="$(SrcDirectory)/redist/redist.csproj" | ||
MSBuildArgs="/p:GenerateRuntimeConfigurationFiles=true" /> | ||
|
||
<!-- Publish DotNet --> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -0,0 +1,63 @@ | |||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> | |||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.tasks" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
8bbec61
to
2117de3
Compare
2117de3
to
19bbe20
Compare
This PR bumps:
The change required CLI to absorb the new layout of Roslyn on-disk. Specifically, Roslyn now must be deployed to
$(MSBuildToolsPath)/Roslyn
instead of being deployed to$(MSBuildToolsPath)
directly. The CLI must still compose a runnable CSC.exe [generate runtimeconfig.json + deps.json] but this now happens inside of the Roslyn directory.This change required performing a second publish during the CLI build. A side-effect of that is the duplication of a number of Framework binaries that do not ship in the Shared Framework, specifically:
as well as some framework-specific implementation binaries. We will likely need to do some de-duping work in CLI [likely with --additional-probing-path] during our final 1.0 size push. The duplication led to an 18MB [20%] size increase on my dev build. I chose to move forward so we have functionality in-place and can improve perf [size] in the RTM milestone.
While making this change we identified that a change in Roslyn 2.0.0-rc3-61212-04 prevents CLI from picking up that, or a higher, Roslyn version so I locked this PR back to this December build. The specific issue is that Roslyn took on a Microsoft.NetCore.App dependency [at least for System.Security.Cryptography.] which is not available in the 1.0. Shared Framework. Since CLI is built on 1.0 at the moment and @eerhardt just ran into blockers that prevent us from moving forward, we are not currently able to move forward to newer compilers. I ping'd @jaredpar about this below as FYI.
Since this change touches a lot of CLI build system internals, I've commented the code in this PR to help folks see what's going on.
@jonsequitur @jgoshi @krwq @livarcocc @piotroko for code review
@srivatsn for signoff
@jeffkl @rainersigwald FYI