From 5ca773e67d260171a3ec43dfe7abb4cb6dee83d7 Mon Sep 17 00:00:00 2001 From: Piotr Puszkiewicz Date: Tue, 21 Feb 2017 16:03:28 -0800 Subject: [PATCH 01/18] Initial commit of 1.0.1 branch --- branchinfo.txt | 6 +++--- build/Microsoft.DotNet.Cli.Monikers.props | 6 +++--- packaging/windows/clisdk/registrykeys.wxs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/branchinfo.txt b/branchinfo.txt index 77dd90714..5628321e1 100644 --- a/branchinfo.txt +++ b/branchinfo.txt @@ -3,7 +3,7 @@ # Each line is expected to be in the format "[Name]=[Value]". MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_VERSION=0 +PATCH_VERSION=1 RELEASE_SUFFIX=rc4 -CHANNEL=rel-1.0.0 -BRANCH_NAME=rel/1.0.0 +CHANNEL=rel-1.0.1 +BRANCH_NAME=rel/1.0.1 diff --git a/build/Microsoft.DotNet.Cli.Monikers.props b/build/Microsoft.DotNet.Cli.Monikers.props index 615cbc0c7..cf5e3e790 100644 --- a/build/Microsoft.DotNet.Cli.Monikers.props +++ b/build/Microsoft.DotNet.Cli.Monikers.props @@ -1,12 +1,12 @@ - Microsoft .NET Core 1.0.3 - SDK - Microsoft .NET Core 1.0.3 - Runtime + .NET Core SDK 1.0.1 ($(Architecture)) Installer + Microsoft .NET Core 1.0.4 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver - Microsoft .NET Core 1.1.0 - Runtime + Microsoft .NET Core 1.1.1 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver diff --git a/packaging/windows/clisdk/registrykeys.wxs b/packaging/windows/clisdk/registrykeys.wxs index 6da9817a3..9db1d2115 100644 --- a/packaging/windows/clisdk/registrykeys.wxs +++ b/packaging/windows/clisdk/registrykeys.wxs @@ -10,7 +10,7 @@ - + From 053f73724105b5721984ca60a0869847600eb33c Mon Sep 17 00:00:00 2001 From: Nate Amundson Date: Tue, 21 Feb 2017 19:02:36 -0600 Subject: [PATCH 02/18] Update badges for build status --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e825c7b35..a630081c5 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Build Status |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8.2 |Windows x64 |Windows x86 |Mac OS X |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 |OpenSUSE 13.2 |Fedora 23| |:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| -|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3132/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3132)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3618/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3618)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3271/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3271)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3022/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3022)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3071/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3071)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3397/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3397)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3257/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3257)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3256/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3256)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3626/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3626)|[![](https://mseng.visualstudio.com/_apis/public/build/definitions/d09b7a4d-0a51-4c0e-a15a-07921d5b558f/3623/badge)](https://mseng.visualstudio.com/dotnetcore/_build?_a=completed&definitionId=3623)| +|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5562/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5562)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5564/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5564)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5552/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5552)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5566/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5566)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5568/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5568)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5558/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5558)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5550/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5550)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5560/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5560)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5556/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5556)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5554/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5554)| Installers and Binaries ----------------------- From 2f759d85f22c417fa06e7c2484b0001b1b22c140 Mon Sep 17 00:00:00 2001 From: Piotr Puszkiewicz Date: Tue, 21 Feb 2017 20:30:18 -0800 Subject: [PATCH 03/18] Fix dir.props --- dir.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dir.props b/dir.props index 0c8714f22..f906e8849 100644 --- a/dir.props +++ b/dir.props @@ -13,6 +13,6 @@ true - 1.0.0 + 1.0.1 From 916a19c4936d92b92b5fbef2b801dba9c125d0db Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 18:13:14 -0800 Subject: [PATCH 04/18] Add support for Fedora 24, OpenSUSE 42.1 and Ubuntu 16.10 --- build/Microsoft.DotNet.Cli.Prepare.targets | 21 +++++-- .../CheckIfAllBuildsHavePublished.cs | 5 +- .../Utils/Monikers.cs | 6 ++ .../update-dependencies.csproj | 2 +- run-build.ps1 | 4 +- run-build.sh | 4 +- scripts/docker/fedora.24/Dockerfile | 28 +++++++++ scripts/docker/opensuse.42.1/Dockerfile | 50 +++++++++++++++ scripts/docker/ubuntu.16.10/Dockerfile | 63 +++++++++++++++++++ tools/Archiver/Archiver.csproj | 2 +- 10 files changed, 174 insertions(+), 11 deletions(-) create mode 100644 scripts/docker/fedora.24/Dockerfile create mode 100644 scripts/docker/opensuse.42.1/Dockerfile create mode 100644 scripts/docker/ubuntu.16.10/Dockerfile diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index fd3c45a5b..acf561e95 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -95,7 +95,12 @@ $(InstallerExtension) $(InstallerExtension) - $(Rid) + $(Rid) $(OSName)-$(Architecture) lib @@ -127,8 +132,16 @@ dotnet-$(ProductMonikerRid).$(SharedFrameworkVersion)$(ArchiveExtension) - + true + true + false + + + + preview 1.0.4 1.0.1 @@ -193,7 +206,7 @@ - + $(CoreSetupBlobRootUrl)$(AdditionalCoreSetupChannel) $(AdditionalCoreSetupBlobRootUrlWithChannel)/Binaries/$(AdditionalSharedFrameworkVersion) $(AdditionalCoreSetupBlobRootUrlWithChannel)/Installers @@ -201,7 +214,7 @@ $(AdditionalCoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive - + <_DownloadAndExtractItem Include="AdditionalCombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(AdditionalCombinedSharedHostAndFrameworkArchive)')"> $(AdditionalSharedFrameworkArchiveBlobRootUrl)/$(AdditionalCombinedFrameworkHostCompressedFileName) diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index cfeb125a1..89da24932 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -50,12 +50,15 @@ namespace Microsoft.DotNet.Cli.Build { "Windows_x64", false }, { "Ubuntu_x64", false }, { "Ubuntu_16_04_x64", false }, + { "Ubuntu_16_10_x64", false }, { "RHEL_x64", false }, { "OSX_x64", false }, { "Debian_x64", false }, { "CentOS_x64", false }, { "Fedora_23_x64", false }, - { "openSUSE_13_2_x64", false } + { "Fedora_24_x64", false }, + { "openSUSE_13_2_x64", false }, + { "openSUSE_42_1_x64", false }, }; var versionBadgeName = $"{Monikers.GetBadgeMoniker()}"; diff --git a/build_projects/shared-build-targets-utils/Utils/Monikers.cs b/build_projects/shared-build-targets-utils/Utils/Monikers.cs index 2c4b8e69e..2f5d86557 100644 --- a/build_projects/shared-build-targets-utils/Utils/Monikers.cs +++ b/build_projects/shared-build-targets-utils/Utils/Monikers.cs @@ -15,10 +15,16 @@ namespace Microsoft.DotNet.Cli.Build { case "ubuntu.16.04-x64": return "Ubuntu_16_04_x64"; + case "ubuntu.16.10-x64": + return "Ubuntu_16_10_x64"; case "fedora.23-x64": return "Fedora_23_x64"; + case "fedora.24-x64": + return "Fedora_24_x64"; case "opensuse.13.2-x64": return "openSUSE_13_2_x64"; + case "opensuse.42.1-x64": + return "openSUSE_42_1_x64"; } return $"{CurrentPlatform.Current}_{CurrentArchitecture.Current}"; diff --git a/build_projects/update-dependencies/update-dependencies.csproj b/build_projects/update-dependencies/update-dependencies.csproj index 42c4d52f2..b7cad0eb9 100644 --- a/build_projects/update-dependencies/update-dependencies.csproj +++ b/build_projects/update-dependencies/update-dependencies.csproj @@ -6,7 +6,7 @@ netcoreapp1.0 update-dependencies Exe - win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64 diff --git a/run-build.ps1 b/run-build.ps1 index f70516668..4b34e5163 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -103,8 +103,8 @@ if ($LastExitCode -ne 0) # install the post-PJnistic stage0 $dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1" -Write-Host "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 8ca76a05b..e1e79c360 100755 --- a/run-build.sh +++ b/run-build.sh @@ -163,8 +163,8 @@ if [ $? != 0 ]; then fi # now execute the script -echo "installing CLI: $dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" -$dotnetInstallPath --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" +echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004834\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" +$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2 exit $? diff --git a/scripts/docker/fedora.24/Dockerfile b/scripts/docker/fedora.24/Dockerfile new file mode 100644 index 000000000..bc33dd00c --- /dev/null +++ b/scripts/docker/fedora.24/Dockerfile @@ -0,0 +1,28 @@ +FROM fedora:24 + +RUN dnf install -y bash git cmake wget which python clang-3.8.0-1.fc24.x86_64 llvm-devel-3.8.0-1.fc24.x86_64 make libicu-devel lldb-devel.x86_64 \ + libunwind-devel.x86_64 lttng-ust-devel.x86_64 uuid-devel libuuid-devel tar glibc-locale-source zlib-devel libcurl-devel \ + krb5-devel openssl-devel autoconf libtool hostname + +RUN dnf upgrade -y nss + +RUN dnf clean all + +# Set a different rid to publish buildtools for, until we update to a version which +# natively supports fedora.24-x64 +ENV __PUBLISH_RID=fedora.23-x64 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code diff --git a/scripts/docker/opensuse.42.1/Dockerfile b/scripts/docker/opensuse.42.1/Dockerfile new file mode 100644 index 000000000..d175339a4 --- /dev/null +++ b/scripts/docker/opensuse.42.1/Dockerfile @@ -0,0 +1,50 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +FROM opensuse:42.1 + +# Install the base toolchain we need to build anything (clang, cmake, make and the like) +# this does not include libraries that we need to compile different projects, we'd like +# them in a different layer. +RUN zypper -n install binutils \ + cmake \ + which \ + gcc \ + llvm-clang \ + tar \ + ncurses-utils \ + curl \ + git \ + sudo && \ + ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \ + zypper clean -a + +# Dependencies of CoreCLR and CoreFX. + +RUN zypper -n install --force-resolution \ + libunwind \ + libicu \ + lttng-ust \ + libuuid1 \ + libopenssl1_0_0 \ + libcurl4 \ + krb5 && \ + zypper clean -a + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/scripts/docker/ubuntu.16.10/Dockerfile b/scripts/docker/ubuntu.16.10/Dockerfile new file mode 100644 index 000000000..dba98ed7b --- /dev/null +++ b/scripts/docker/ubuntu.16.10/Dockerfile @@ -0,0 +1,63 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM ubuntu:16.10 + +# Misc Dependencies for build +RUN apt-get update && \ + apt-get -qqy install \ + curl \ + unzip \ + gettext \ + sudo && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# This could become a "microsoft/coreclr" image, since it just installs the dependencies for CoreCLR (and stdlib) +RUN apt-get update && \ + apt-get -qqy install \ + libunwind8 \ + libkrb5-3 \ + libicu57 \ + liblttng-ust0 \ + libssl1.0.0 \ + zlib1g \ + libuuid1 \ + liblldb-3.5 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install Build Prereqs +RUN apt-get update && \ + apt-get -qqy install \ + debhelper \ + build-essential \ + devscripts \ + git \ + cmake \ + clang-3.5 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Use clang as c++ compiler +RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100 +RUN update-alternatives --set c++ /usr/bin/clang++-3.5 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g sudo +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/tools/Archiver/Archiver.csproj b/tools/Archiver/Archiver.csproj index bebe500cd..f6b41c00c 100644 --- a/tools/Archiver/Archiver.csproj +++ b/tools/Archiver/Archiver.csproj @@ -4,7 +4,7 @@ netcoreapp1.1 Exe - win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64;osx.10.10-x64;rhel.7-x64 + win7-x64;win7-x86;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64;osx.10.10-x64;rhel.7-x64 From 9b7150e701faa805a99249ee40a7794013bad929 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 20:25:12 -0600 Subject: [PATCH 05/18] Add new platforms to netci.groovy --- netci.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netci.groovy b/netci.groovy index 8a2698aab..92e043f05 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'Fedora23:x64:Debug', 'OpenSUSE13.2:x64:Debug'] +def platformList = ['Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'Ubuntu16.10:x64:Debug', 'OSX:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'Fedora23:x64:Debug', 'Fedora24:x64:Release', 'OpenSUSE13.2:x64:Debug', 'OpenSUSE42.1:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() From 077f9107bf56f8e055ceefcd97939531990c5c7e Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 20:40:30 -0600 Subject: [PATCH 06/18] Change stage0PJ version to preview2.1, which supports the new platforms. --- .cliversion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cliversion b/.cliversion index 70482ffac..36471cf6b 100644 --- a/.cliversion +++ b/.cliversion @@ -1 +1 @@ -1.0.0-preview3-003930 +1.0.0-preview2-1-003177 From 592c7fa4266694ed9f4bd770def2db68467a2427 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 23:12:37 -0800 Subject: [PATCH 07/18] Add build_tools diagnostics --- run-build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index e1e79c360..1706bcc16 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,8 @@ if [ ! -f $bootStrapperPath ]; then chmod u+x $bootStrapperPath fi -$bootStrapperPath --repositoryRoot "$REPOROOT" --toolsLocalPath "$toolsLocalPath" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE > bootstrap.log +echo "installing build_tools: $bootStrapperPath --repositoryRoot \"$REPOROOT\" --toolsLocalPath \"$toolsLocalPath\" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE" +$bootStrapperPath --repositoryRoot "$REPOROOT" --toolsLocalPath "$toolsLocalPath" --cliInstallPath $DOTNET_INSTALL_DIR_PJ --architecture $ARCHITECTURE --verbose if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping failed with exit code $?, see bootstrap.log for more information." >&2 From a96693bb95f22b419dba0fc9afcac82ade051123 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 16 Feb 2017 23:52:00 -0800 Subject: [PATCH 08/18] Update buildtools to 1.0.27-prerelease-01316-08 --- .toolversions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.toolversions b/.toolversions index adc296916..d7f7f5ac7 100644 --- a/.toolversions +++ b/.toolversions @@ -1,2 +1,2 @@ -microsoft.dotnet.buildtools=1.0.26-prerelease-00926-02 +microsoft.dotnet.buildtools=1.0.27-prerelease-01316-08 microsoft.dotnet.buildtools.run=1.0.0-prerelease-00807-04 \ No newline at end of file From 6d7d84cb7e1c28375208140715e81d362ad368da Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 17 Feb 2017 11:37:29 -0800 Subject: [PATCH 09/18] Upgrade vstest.console to run on netcoreapp1.1 --- src/redist/redist.csproj | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index d9a4fa8d1..ac5d914ae 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -1,6 +1,7 @@  - + + $(CliVersionPrefix) netcoreapp1.1 @@ -36,7 +37,16 @@ - - $(DefineConstants);RELEASE - + + + + $(PublishDir)/vstest.console.runtimeconfig.json + + + \ No newline at end of file From 3458aa38ba4c70c9c75fe9e361e863fa690ffb51 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 17 Feb 2017 11:54:32 -0800 Subject: [PATCH 10/18] Update Stage0 to build 004840 --- run-build.ps1 | 4 ++-- run-build.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 4b34e5163..eb28d3c35 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -103,8 +103,8 @@ if ($LastExitCode -ne 0) # install the post-PJnistic stage0 $dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1" -Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004834"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 1706bcc16..7c66e5f5f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -164,8 +164,8 @@ if [ $? != 0 ]; then fi # now execute the script -echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004834\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" -$dotnetInstallPath --version "1.0.0-rc4-004834" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" +echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004840\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" +$dotnetInstallPath --version "1.0.0-rc4-004840" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2 exit $? From 996d458e302e229e5a85b581af0373f0b07e789d Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Sat, 18 Feb 2017 09:34:50 -0800 Subject: [PATCH 11/18] Support Ubuntu16.10 installer Since Ubuntu16.10 doesn't have a 1.0 shared framework, only install the 1.1 shared framework. --- build/Microsoft.DotNet.Cli.Monikers.props | 8 +++---- .../Microsoft.DotNet.Cli.Installer.DEB.proj | 21 ++++++++++++------- ...Microsoft.DotNet.Cli.Installer.DEB.targets | 9 ++++++-- packaging/deb/dotnet-debian_config.json | 2 +- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Monikers.props b/build/Microsoft.DotNet.Cli.Monikers.props index cf5e3e790..474ce7d1d 100644 --- a/build/Microsoft.DotNet.Cli.Monikers.props +++ b/build/Microsoft.DotNet.Cli.Monikers.props @@ -2,13 +2,13 @@ .NET Core SDK 1.0.1 ($(Architecture)) Installer - Microsoft .NET Core 1.0.4 - Runtime + Microsoft .NET Core 1.1.1 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver - Microsoft .NET Core 1.1.1 - Runtime - Microsoft .NET Core 1.1.0 - Host - Microsoft .NET Core 1.1.0 - Host FX Resolver + Microsoft .NET Core 1.0.4 - Runtime + Microsoft .NET Core 1.0.1 - Host + Microsoft .NET Core 1.0.1 - Host FX Resolver Microsoft.NETCore.App diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj index b1b375a98..ede1fecff 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj @@ -75,8 +75,10 @@ - - + + @@ -90,9 +92,12 @@ Outputs="$(DebianTestResultsXmlFile)" > - - - + + + @@ -113,8 +118,10 @@ - - + + diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets index ca94cf99f..3bf265a98 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets @@ -93,8 +93,13 @@ $(SharedFxDebianPackageName) - - $(AdditionalSharedFxDebianPackageName) + + "$(AdditionalSharedFxDebianPackageName)" : {} + + + $(SdkVersion) diff --git a/packaging/deb/dotnet-debian_config.json b/packaging/deb/dotnet-debian_config.json index 8aa795ffd..4caa326c9 100644 --- a/packaging/deb/dotnet-debian_config.json +++ b/packaging/deb/dotnet-debian_config.json @@ -30,6 +30,6 @@ "debian_dependencies":{ "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}, - "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME_ADDITIONAL%" : {} + %SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY% } } From 8aaffc22381204d882708da74eb1c6d1872275ca Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Mon, 20 Feb 2017 10:01:29 -0600 Subject: [PATCH 12/18] Fix tests on netcoreapp1.1 only platforms --- .../AppWithProjTool2Fx/App.csproj | 13 ++----- .../AppWithRedirectsAndConfig.csproj | 1 + .../AppWithRedirectsNoConfig.csproj | 1 + .../LibWithProjTool2Fx/Lib.csproj | 3 +- .../App/AppThrowingException.csproj | 8 +---- .../AppDependingOnOtherAsTool.csproj | 9 ++--- .../AppWithDepOnTool/AppWithDepOnTool.csproj | 4 +-- .../ToolWithRandomPackageName.csproj | 6 +--- .../ToolWithOutputName.csproj | 13 ++----- .../dotnet-dependency-tool-invoker.csproj | 12 ++----- .../dotnet-desktop-and-portable.csproj | 10 ++---- .../dotnet-portable/dotnet-portable.csproj | 13 ++----- .../AppWithDepOnToolWithOutputName.csproj | 6 ++-- .../AppWithDirectAndToolDep.csproj | 6 ++-- .../AppWithDirectDepWithOutputName.csproj | 13 +++---- ...ldAppWithMultipleFrameworksAndTools.csproj | 1 + .../AppWithToolDependency.csproj | 13 ++----- ...ldAppWithMultipleFrameworksAndTools.csproj | 1 + .../MSBuildTestApp/MSBuildTestApp.csproj | 5 +-- .../TestAppWithProjDepTool.csproj | 8 ++--- .../VSTestDotNetCore/VSTestDotNetCore.csproj | 6 ++-- .../VSTestXunitDotNetCore.csproj | 6 ++-- .../CommandResolution/IProject.cs | 3 ++ .../CommandResolution/MSBuildProject.cs | 21 +++++++++++ .../ProjectToolsCommandResolver.cs | 36 +++++++++++++------ test/EndToEnd/GivenDotNetUsesMSBuild.cs | 4 +-- ...GivenAProjectDependenciesCommandFactory.cs | 4 +-- .../GivenAProjectDependencyCommandResolver.cs | 8 ++--- .../GivenAProjectToolsCommandResolver.cs | 3 +- .../EnvironmentInfo.cs | 27 ++++++++++++++ .../RequiresSpecificFrameworkFactAttribute.cs | 18 ++++++++++ .../GivenDotnetBuildBuildsCsproj.cs | 11 ++++-- ...venThatIWantToMigrateDeprecatedProjects.cs | 18 ++++++++++ .../GivenThatIWantToMigrateTestApps.cs | 10 ++++-- .../GivenThatIWantANewAppWithSpecifiedType.cs | 7 ++++ .../GivenDotnetPublishPublishesProjects.cs | 12 +++---- .../GivenDotnetRunRunsCsProj.cs | 4 +-- ...enDotnetTestBuildsAndRunsTestfromCsproj.cs | 2 +- test/dotnet-vstest.Tests/VSTestTests.cs | 2 +- test/dotnet.Tests/PackagedCommandTests.cs | 6 ++-- 40 files changed, 203 insertions(+), 151 deletions(-) create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj index a5487baba..e8dc22e76 100644 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj +++ b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj @@ -1,9 +1,10 @@  - netcoreapp1.0;net451 + netcoreapp1.1;net451 Exe - $(PackageTargetFallback);portable-net45+win8;dnxcore50 + $(PackageTargetFallback);portable-net45+win8;dnxcore50 win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + netcoreapp1.1 @@ -11,11 +12,6 @@ 1.0.0-* - - - 1.0.3 - - @@ -25,7 +21,4 @@ 1.0.0-* - - $(DefineConstants);RELEASE - \ No newline at end of file diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj index 35f2ba2b2..a4e21096e 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsAndConfig Exe win7-x64;win7-x86 + netcoreapp1.1 diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj index dd8d8b537..deb339723 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsNoConfig Exe win7-x64;win7-x86 + netcoreapp1.1 diff --git a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj index e621006e9..478e8bcec 100644 --- a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj +++ b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj @@ -2,7 +2,8 @@ netstandard1.6;net451 Library - $(PackageTargetFallback);portable-net45+win8;dnxcore50;netcoreapp1.0 + $(PackageTargetFallback);portable-net45+win8;dnxcore50;netcoreapp1.1 + netcoreapp1.1 diff --git a/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj b/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj index 366798fca..cd5488919 100644 --- a/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj +++ b/TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp1.0 + netcoreapp1.1 dotnet-throwingtool $(AssemblyName) @@ -13,10 +13,4 @@ - - - 1.0.3 - - - diff --git a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj index 04b137131..eca57f6ba 100644 --- a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj +++ b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj @@ -2,15 +2,10 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + netcoreapp1.1 - - - 1.0.3 - - - 1.0.0 diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj index de60f199d..0858955a9 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj @@ -2,12 +2,12 @@ Exe - netcoreapp1.0 + netcoreapp1.1 random-name + netcoreapp1.1 - 1.0.0 diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj index 592c7bfcb..e5bc95294 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp1.0 + netcoreapp1.1 random-name $(GeneratedPackageId) dotnet-randompackage @@ -14,8 +14,4 @@ - - - - diff --git a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj index 59a2ee3db..6621ee746 100644 --- a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj +++ b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj @@ -1,6 +1,6 @@ - + - netcoreapp1.0 + netcoreapp1.1 dotnet-tool-with-output-name ToolWithOutputName Exe @@ -12,13 +12,4 @@ - - - 1.0.4 - - - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index 627218965..d5c8399c2 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -3,10 +3,11 @@ 1.0.0-rc - netcoreapp1.0 + netcoreapp1.1 dotnet-dependency-tool-invoker Exe - $(PackageTargetFallback);portable-net45+win8;dnxcore50 + $(PackageTargetFallback);portable-net45+win8;dnxcore50 + false @@ -22,9 +23,6 @@ - - 1.0.4 - $(CLI_NuGet_Version) @@ -32,8 +30,4 @@ $(SdkNugetVersion) - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj b/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj index 41da0203f..016898139 100644 --- a/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj +++ b/TestAssets/TestPackages/dotnet-desktop-and-portable/dotnet-desktop-and-portable.csproj @@ -1,24 +1,18 @@  1.0.0-rc - netcoreapp1.0;net451 + netcoreapp1.1;net451 dotnet-desktop-and-portable Exe win7-x64;win7-x86 - + $(ProjectRuntimeConfigFilePath) - - - 1.0.4 - - - diff --git a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj index 65e89e284..3a9af687a 100644 --- a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj +++ b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj @@ -2,9 +2,10 @@ - netcoreapp1.0 + netcoreapp1.1 dotnet-portable Exe + false @@ -12,14 +13,4 @@ $(ProjectRuntimeConfigFilePath) - - - - 1.0.4 - - - - - $(DefineConstants);RELEASE - diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj index 1c2ecdf95..3dd51b956 100755 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj @@ -2,6 +2,7 @@ netcoreapp1.0 Exe + netcoreapp1.1 @@ -14,7 +15,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj index eb4dbed83..20673d265 100755 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj @@ -2,6 +2,7 @@ netcoreapp1.1 Exe + netcoreapp1.1 @@ -17,7 +18,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj index 877cce870..d5d712460 100755 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj @@ -1,23 +1,18 @@ - + - netcoreapp1.0 + netcoreapp1.1 Exe + netcoreapp1.1 1.0.0 - - 1.0.3 - 1.0.0-* - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 8c58766c2..ce33c13c5 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -2,6 +2,7 @@ Exe net451;netcoreapp1.0 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj index a5eb7a585..2c982a0ac 100755 --- a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj @@ -1,14 +1,10 @@  - netcoreapp1.0 + netcoreapp1.1 Exe + netcoreapp1.1 - - - 1.0.3 - - 1.0.0 @@ -17,7 +13,4 @@ 1.0.0 - - $(DefineConstants);RELEASE - - \ No newline at end of file + diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 8c58766c2..ce33c13c5 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -2,6 +2,7 @@ Exe net451;netcoreapp1.0 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index f4bc3f4d1..f616e532d 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -1,8 +1,9 @@ Exe - netcoreapp1.0 - win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64 + netcoreapp1.1 + win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;fedora.24-x64;opensuse.13.2-x64;opensuse.42.1-x64 + netcoreapp1.1 diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj index f252d7975..7df4efa22 100644 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj +++ b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj @@ -1,13 +1,11 @@ - + Exe - netcoreapp1.0 + netcoreapp1.1 + netcoreapp1.1 - - 1.0.3 - 1.0.0 All diff --git a/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj b/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj index 97230db7a..e8bf2f08b 100644 --- a/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj +++ b/TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj @@ -2,13 +2,11 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + false - - 1.0.3 - 1.0.6-preview diff --git a/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj b/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj index 491c84b0b..09f5f8a56 100644 --- a/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj +++ b/TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj @@ -2,13 +2,11 @@ Exe - netcoreapp1.0 + netcoreapp1.1 + false - - 1.0.3 - $(CLI_TestPlatform_Version) diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs index 89d22bbbf..18fddedb1 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/IProject.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Collections.Generic; +using NuGet.Frameworks; using NuGet.ProjectModel; namespace Microsoft.DotNet.Cli.Utils @@ -22,6 +23,8 @@ namespace Microsoft.DotNet.Cli.Utils string FullOutputPath { get; } + NuGetFramework DotnetCliToolTargetFramework { get; } + Dictionary EnvironmentVariables { get; } } } \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs index 4b6cda0e4..3969e9aa8 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/MSBuildProject.cs @@ -13,6 +13,8 @@ namespace Microsoft.DotNet.Cli.Utils { internal class MSBuildProject : IProject { + private static readonly NuGetFramework s_toolPackageFramework = FrameworkConstants.CommonFrameworks.NetCoreApp10; + private Project _project; private string _projectRoot; @@ -60,6 +62,25 @@ namespace Microsoft.DotNet.Cli.Utils } } + public NuGetFramework DotnetCliToolTargetFramework + { + get + { + var frameworkString = _project + .AllEvaluatedProperties + .FirstOrDefault(p => p.Name.Equals("DotnetCliToolTargetFramework")) + ?.EvaluatedValue; + + if (string.IsNullOrEmpty(frameworkString)) + { + return s_toolPackageFramework; + } + + return NuGetFramework.Parse(frameworkString); + } + } + + public Dictionary EnvironmentVariables { get diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs index d3dd03ce6..0e7a48beb 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectToolsCommandResolver.cs @@ -18,8 +18,6 @@ namespace Microsoft.DotNet.Cli.Utils { private const string ProjectToolsCommandResolverName = "projecttoolscommandresolver"; - private static readonly NuGetFramework s_toolPackageFramework = FrameworkConstants.CommonFrameworks.NetCoreApp10; - private static readonly CommandResolutionStrategy s_commandResolutionStrategy = CommandResolutionStrategy.ProjectToolsPackage; @@ -133,8 +131,14 @@ namespace Microsoft.DotNet.Cli.Utils ProjectToolsCommandResolverName, string.Join(Environment.NewLine, possiblePackageRoots.Select((p) => $"- {p}")))); + var toolPackageFramework = project.DotnetCliToolTargetFramework; + string nugetPackagesRoot; - var toolLockFile = GetToolLockFile(toolLibraryRange, possiblePackageRoots, out nugetPackagesRoot); + var toolLockFile = GetToolLockFile( + toolLibraryRange, + toolPackageFramework, + possiblePackageRoots, + out nugetPackagesRoot); if (toolLockFile == null) { @@ -147,7 +151,7 @@ namespace Microsoft.DotNet.Cli.Utils toolLockFile.Path)); var toolLibrary = toolLockFile.Targets - .FirstOrDefault(t => s_toolPackageFramework == t.TargetFramework) + .FirstOrDefault(t => toolPackageFramework == t.TargetFramework) ?.Libraries.FirstOrDefault( l => StringComparer.OrdinalIgnoreCase.Equals(l.Name, toolLibraryRange.Name)); if (toolLibrary == null) @@ -161,7 +165,11 @@ namespace Microsoft.DotNet.Cli.Utils var depsFileRoot = Path.GetDirectoryName(toolLockFile.Path); - var depsFilePath = GetToolDepsFilePath(toolLibraryRange, toolLockFile, depsFileRoot); + var depsFilePath = GetToolDepsFilePath( + toolLibraryRange, + toolPackageFramework, + toolLockFile, + depsFileRoot); var normalizedNugetPackagesRoot = PathUtility.EnsureNoTrailingDirectorySeparator(nugetPackagesRoot); @@ -203,12 +211,13 @@ namespace Microsoft.DotNet.Cli.Utils private LockFile GetToolLockFile( SingleProjectInfo toolLibrary, + NuGetFramework framework, IEnumerable possibleNugetPackagesRoot, out string nugetPackagesRoot) { foreach (var packagesRoot in possibleNugetPackagesRoot) { - if (TryGetToolLockFile(toolLibrary, packagesRoot, out LockFile lockFile)) + if (TryGetToolLockFile(toolLibrary, framework, packagesRoot, out LockFile lockFile)) { nugetPackagesRoot = packagesRoot; return lockFile; @@ -221,11 +230,12 @@ namespace Microsoft.DotNet.Cli.Utils private bool TryGetToolLockFile( SingleProjectInfo toolLibrary, + NuGetFramework framework, string nugetPackagesRoot, out LockFile lockFile) { lockFile = null; - var lockFilePath = GetToolLockFilePath(toolLibrary, nugetPackagesRoot); + var lockFilePath = GetToolLockFilePath(toolLibrary, framework, nugetPackagesRoot); if (!File.Exists(lockFilePath)) { @@ -248,6 +258,7 @@ namespace Microsoft.DotNet.Cli.Utils private string GetToolLockFilePath( SingleProjectInfo toolLibrary, + NuGetFramework framework, string nugetPackagesRoot) { var toolPathCalculator = new ToolPathCalculator(nugetPackagesRoot); @@ -255,11 +266,12 @@ namespace Microsoft.DotNet.Cli.Utils return toolPathCalculator.GetBestLockFilePath( toolLibrary.Name, VersionRange.Parse(toolLibrary.Version), - s_toolPackageFramework); + framework); } private string GetToolDepsFilePath( SingleProjectInfo toolLibrary, + NuGetFramework framework, LockFile toolLockFile, string depsPathRoot) { @@ -272,24 +284,26 @@ namespace Microsoft.DotNet.Cli.Utils ProjectToolsCommandResolverName, depsJsonPath)); - EnsureToolJsonDepsFileExists(toolLockFile, depsJsonPath, toolLibrary); + EnsureToolJsonDepsFileExists(toolLockFile, framework, depsJsonPath, toolLibrary); return depsJsonPath; } private void EnsureToolJsonDepsFileExists( LockFile toolLockFile, + NuGetFramework framework, string depsPath, SingleProjectInfo toolLibrary) { if (!File.Exists(depsPath)) { - GenerateDepsJsonFile(toolLockFile, depsPath, toolLibrary); + GenerateDepsJsonFile(toolLockFile, framework, depsPath, toolLibrary); } } internal void GenerateDepsJsonFile( LockFile toolLockFile, + NuGetFramework framework, string depsPath, SingleProjectInfo toolLibrary) { @@ -298,7 +312,7 @@ namespace Microsoft.DotNet.Cli.Utils depsPath)); var dependencyContext = new DepsJsonBuilder() - .Build(toolLibrary, null, toolLockFile, s_toolPackageFramework, null); + .Build(toolLibrary, null, toolLockFile, framework, null); var tempDepsFile = Path.GetTempFileName(); using (var fileStream = File.Open(tempDepsFile, FileMode.Open, FileAccess.Write)) diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index 2e08f9891..e8eb1056c 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { string projectDirectory = directory.Path; - string newArgs = "console --debug:ephemeral-hive"; + string newArgs = "console -f netcoreapp1.1 --debug:ephemeral-hive"; new NewCommandShim() .WithWorkingDirectory(projectDirectory) .Execute(newArgs) @@ -112,7 +112,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd new DotnetCommand() .WithWorkingDirectory(testProjectDirectory) .ExecuteWithCapturedOutput( - $"-d dependency-tool-invoker -c {configuration} -f netcoreapp1.0 portable") + $"-d dependency-tool-invoker -c {configuration} -f netcoreapp1.1 portable") .Should().Pass() .And.HaveStdOutContaining("Hello Portable World!");; } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs index ba8194a21..acb2c7b33 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs @@ -201,7 +201,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests .Should().Pass(); var factory = new ProjectDependenciesCommandFactory( - FrameworkConstants.CommonFrameworks.NetCoreApp10, + FrameworkConstants.CommonFrameworks.NetCoreApp11, configuration, null, null, @@ -210,7 +210,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests var command = factory.Create("dotnet-tool-with-output-name", null); command.CommandArgs.Should().Contain( - Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp1.0", "dotnet-tool-with-output-name.dll")); + Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp1.1", "dotnet-tool-with-output-name.dll")); } } } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs index cd0d47d4a..54bd5b49f 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs @@ -47,7 +47,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -83,7 +83,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -109,7 +109,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "nonexistent-command", CommandArguments = null, ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10 + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -135,7 +135,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = testInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp10, + Framework = FrameworkConstants.CommonFrameworks.NetCoreApp11, OutputPath = outputDir.FullName }; diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 92b4970c1..44ce24766 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -18,7 +18,7 @@ namespace Microsoft.DotNet.Tests public class GivenAProjectToolsCommandResolver : TestBase { private static readonly NuGetFramework s_toolPackageFramework = - FrameworkConstants.CommonFrameworks.NetCoreApp10; + FrameworkConstants.CommonFrameworks.NetCoreApp11; private const string TestProjectName = "AppWithToolDependency"; @@ -279,6 +279,7 @@ namespace Microsoft.DotNet.Tests var projectToolsCommandResolver = SetupProjectToolsCommandResolver(); projectToolsCommandResolver.GenerateDepsJsonFile( lockFile, + s_toolPackageFramework, depsJsonFile, new SingleProjectInfo("dotnet-portable", "1.0.0", Enumerable.Empty())); diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs new file mode 100644 index 000000000..a99c8ef60 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public static class EnvironmentInfo + { + public static bool HasSharedFramework(string framework) + { + if (framework == "netcoreapp1.0") + { + string rid = RuntimeEnvironment.GetRuntimeIdentifier(); + switch (rid) + { + case "fedora.24-x64": + case "opensuse.42.1-x64": + case "ubuntu.16.10-x64": + return false; + } + } + + return true; + } + } +} \ No newline at end of file diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs new file mode 100644 index 000000000..30712d5bc --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RequiresSpecificFrameworkFactAttribute.cs @@ -0,0 +1,18 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Xunit; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public class RequiresSpecificFrameworkFactAttribute : FactAttribute + { + public RequiresSpecificFrameworkFactAttribute(string framework) + { + if (!EnvironmentInfo.HasSharedFramework(framework)) + { + this.Skip = $"This test requires a shared framework that isn't present: {framework}"; + } + } + } +} \ No newline at end of file diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index 781f7c985..3ab1a0d36 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp1.0") + var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp1.1") .GetFile($"{testAppName}.dll"); var outputRunCommand = new TestCommand("dotnet"); @@ -46,7 +46,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\" --debug:ephemeral-hive"; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\" --debug:ephemeral-hive"; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) @@ -65,7 +65,12 @@ namespace Microsoft.DotNet.Cli.Build.Tests .Execute() .Should().Pass(); - var outputDll = Directory.EnumerateFiles(Path.Combine(rootPath, "bin"), "*.dll", SearchOption.AllDirectories).Single(); + var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; + + var outputDll = Directory.EnumerateFiles( + Path.Combine(rootPath, "bin", configuration, "netcoreapp1.1"), "*.dll", + SearchOption.TopDirectoryOnly) + .Single(); var outputRunCommand = new TestCommand("dotnet"); diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs index 5c6813bc8..92b05a9f7 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateDeprecatedProjects.cs @@ -431,6 +431,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); @@ -483,6 +489,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); @@ -534,6 +546,12 @@ namespace Microsoft.DotNet.Migration.Tests .Execute("build -c Debug") .Should().Pass(); + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the app requires netcoreapp1.0 + return; + } + var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("run -c Debug"); diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs index 339019b29..f9d4aba1d 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateTestApps.cs @@ -492,7 +492,7 @@ namespace Microsoft.DotNet.Migration.Tests } outputsIdentical.Should().BeTrue(); - + VerifyAllMSBuildOutputsRunnable(projectDirectory); } @@ -543,7 +543,7 @@ namespace Microsoft.DotNet.Migration.Tests .And.Contain("Migration failed."); } - [Fact] + [RequiresSpecificFrameworkFact("netcoreapp1.0")] public void ItMigratesAndPublishesProjectsWithRuntimes() { var projectName = "PJTestAppSimple"; @@ -745,6 +745,12 @@ namespace Microsoft.DotNet.Migration.Tests private void VerifyAllMSBuildOutputsRunnable(DirectoryInfo projectDirectory) { + if (!EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // running the apps requires netcoreapp1.0 + return; + } + var dllFileName = Path.GetFileName(projectDirectory.FullName) + ".dll"; var runnableDlls = projectDirectory diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index 3588bc3fc..d631abdf0 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -30,6 +30,13 @@ namespace Microsoft.DotNet.New.Tests string projectType, bool useNuGetConfigForAspNet) { + if (language == "F#" && !EnvironmentInfo.HasSharedFramework("netcoreapp1.0")) + { + // F# requires netcoreapp1.0 to be present in order to build + // https://github.com/dotnet/netcorecli-fsc/issues/76 + return; + } + string rootPath = TestAssetsManager.CreateTestDirectory(identifier: $"{language}_{projectType}").Path; new TestCommand("dotnet") { WorkingDirectory = rootPath } diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index 13d5374d2..620d6973b 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -29,11 +29,11 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp1.0") + .Execute("--framework netcoreapp1.1") .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp1.0", "publish", $"{testAppName}.dll"); + var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp1.1", "publish", $"{testAppName}.dll"); new TestCommand("dotnet") .ExecuteWithCapturedOutput(outputDll) @@ -56,7 +56,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier(); new PublishCommand() - .WithFramework("netcoreapp1.0") + .WithFramework("netcoreapp1.1") .WithRuntime(rid) .WithWorkingDirectory(testProjectDirectory) //Workaround for https://github.com/dotnet/cli/issues/4501 @@ -67,7 +67,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = testProjectDirectory - .GetDirectory("bin", configuration, "netcoreapp1.0", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") + .GetDirectory("bin", configuration, "netcoreapp1.1", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") .FullName; new TestCommand(outputProgram) @@ -85,7 +85,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\""; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\""; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) @@ -107,7 +107,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = rootDir - .GetDirectory("bin", configuration, "netcoreapp1.0", "publish", $"{rootDir.Name}.dll") + .GetDirectory("bin", configuration, "netcoreapp1.1", "publish", $"{rootDir.Name}.dll") .FullName; new TestCommand(outputProgram) diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 2ef0f627f..0d7f90004 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -72,7 +72,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp1.0") + .ExecuteWithCapturedOutput("--framework netcoreapp1.1") .Should().Pass() .And.HaveStdOutContaining("Hello World!"); } @@ -123,7 +123,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -o \"{rootPath}\""; + string newArgs = $"console -f netcoreapp1.1 -o \"{rootPath}\""; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 402ea295a..9fabcff33 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -87,7 +87,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests string configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; string expectedError = Path.Combine(testProjectDirectory, "bin", - configuration, "netcoreapp1.0", "VSTestDotNetCore.dll"); + configuration, "netcoreapp1.1", "VSTestDotNetCore.dll"); expectedError = "The test source file " + "\"" + expectedError + "\"" + " provided was not found."; // Call test diff --git a/test/dotnet-vstest.Tests/VSTestTests.cs b/test/dotnet-vstest.Tests/VSTestTests.cs index 3c85c2c7b..65aad1f89 100644 --- a/test/dotnet-vstest.Tests/VSTestTests.cs +++ b/test/dotnet-vstest.Tests/VSTestTests.cs @@ -31,7 +31,7 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests .Should().Pass(); var outputDll = testRoot - .GetDirectory("bin", configuration, "netcoreapp1.0") + .GetDirectory("bin", configuration, "netcoreapp1.1") .GetFile($"{testAppName}.dll"); var argsForVstest = $"\"{outputDll.FullName}\" {TestBase.ConsoleLoggerOutputNormal}"; diff --git a/test/dotnet.Tests/PackagedCommandTests.cs b/test/dotnet.Tests/PackagedCommandTests.cs index 52d58a9e7..f097f6891 100644 --- a/test/dotnet.Tests/PackagedCommandTests.cs +++ b/test/dotnet.Tests/PackagedCommandTests.cs @@ -109,7 +109,7 @@ namespace Microsoft.DotNet.Tests .WithSourceFiles() .WithRestoreFiles(); - const string framework = ".NETCoreApp,Version=v1.0"; + const string framework = ".NETCoreApp,Version=v1.1"; new BuildCommand() .WithProjectDirectory(testInstance.Root) @@ -289,7 +289,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.0") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.1") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); @@ -319,7 +319,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.0") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp1.1") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); From 7036fa1aefee72163fba7371992029a35e367389 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Wed, 22 Feb 2017 11:55:36 -0600 Subject: [PATCH 13/18] Update dotnet-deb-tool-consumer to use the latest dotnet-deb-tool. The latest deb-tool will use the CLI's runtime, which is required on distros that don't have .NET Core 1.0 installed. --- Microsoft.DotNet.Cli.sln | 1 + .../Microsoft.DotNet.Cli.Installer.DEB.proj | 22 ++++++++----------- ...Microsoft.DotNet.Cli.Installer.DEB.targets | 14 +----------- build/package/dotnet-deb-tool-consumer.csproj | 8 +++++++ 4 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 build/package/dotnet-deb-tool-consumer.csproj diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 6f974fa00..b75c5e5e7 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -37,6 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{FD7D515A-D10F-4F49-B8AE-21CF7ED071AE}" ProjectSection(SolutionItems) = preProject + build\package\dotnet-deb-tool-consumer.csproj = build\package\dotnet-deb-tool-consumer.csproj build\package\Microsoft.DotNet.Cli.Archive.targets = build\package\Microsoft.DotNet.Cli.Archive.targets build\package\Microsoft.DotNet.Cli.Installer.DEB.proj = build\package\Microsoft.DotNet.Cli.Installer.DEB.proj build\package\Microsoft.DotNet.Cli.Installer.DEB.targets = build\package\Microsoft.DotNet.Cli.Installer.DEB.targets diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj index ede1fecff..6eb7a304f 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj @@ -49,7 +49,7 @@ ReplacementStrings="@(DebianConfigTokenValues -> '%(ReplacementString)')" /> - + DependsOnTargets="WriteDotnetDebToolProject"> - + - + - + - diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets index 3bf265a98..5102f1ad5 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets @@ -4,22 +4,10 @@ DependsOnTargets="Init"> - dotnet-deb-tool - 1.0.0-* - dotnet-deb-tool-consumer + dotnet-deb-tool-consumer.csproj $(IntermediateDirectory)/$(DotnetDebToolConsumerProjectName) - - - - - - - - - - /usr/share/dotnet diff --git a/build/package/dotnet-deb-tool-consumer.csproj b/build/package/dotnet-deb-tool-consumer.csproj new file mode 100644 index 000000000..26b7aa79d --- /dev/null +++ b/build/package/dotnet-deb-tool-consumer.csproj @@ -0,0 +1,8 @@ + + + netcoreapp1.1 + + + + + From 5227896d0f5947547be38f9d42e873218dba6e4f Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 23 Feb 2017 15:24:21 -0600 Subject: [PATCH 14/18] Fix Ubuntu16.10 BuildSdkDeb We need to replace a string with string.Empty in the debian .json file. Fixing ReplaceFileContents to support this scenario. --- .../Microsoft.DotNet.Cli.Installer.DEB.proj | 3 +- .../dotnet-cli-build/ReplaceFileContents.cs | 28 +++++++++++++++++-- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj index 6eb7a304f..0ea426aec 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.proj @@ -45,8 +45,7 @@ + ReplacementItems="@(DebianConfigTokenValues)" /> - /// Reads contents of an input file, and searches for each ReplacementPattern passed in. + /// Reads contents of an input file, and searches for each replacement passed in. + /// + /// When ReplacementItems is matched, it will replace the Include/ItemSpec with the corresponding + /// ReplacementString metadata value. This can be useful if the ReplacementString is a value that + /// cannot be represented by ITaskItem.ItemSpec (like string.Empty). + /// /// When a ReplacementPattern is matched it will replace it with the string of the corresponding (by index) /// item in ReplacementStrings. /// @@ -27,14 +32,23 @@ namespace Microsoft.DotNet.Cli.Build [Required] public string DestinationFile { get; set; } - [Required] + public ITaskItem[] ReplacementItems { get; set; } + public ITaskItem[] ReplacementPatterns { get; set; } - [Required] public ITaskItem[] ReplacementStrings { get; set; } public override bool Execute() { + if (ReplacementItems == null && ReplacementPatterns == null && ReplacementStrings == null) + { + throw new Exception($"ReplaceFileContents was called with no replacement values. Either pass ReplacementItems or ReplacementPatterns/ReplacementStrings properties."); + } + + ReplacementItems = ReplacementItems ?? Array.Empty(); + ReplacementPatterns = ReplacementPatterns ?? Array.Empty(); + ReplacementStrings = ReplacementStrings ?? Array.Empty(); + if (ReplacementPatterns.Length != ReplacementStrings.Length) { throw new Exception($"Expected {nameof(ReplacementPatterns)} (length {ReplacementPatterns.Length}) and {nameof(ReplacementStrings)} (length {ReplacementStrings.Length}) to have the same length."); @@ -57,6 +71,14 @@ namespace Microsoft.DotNet.Cli.Build { var outText = inputFileText; + foreach (var replacementItem in ReplacementItems) + { + var replacementPattern = replacementItem.ItemSpec; + var replacementString = replacementItem.GetMetadata("ReplacementString"); + + outText = outText.Replace(replacementPattern, replacementString); + } + for (int i=0; i Date: Thu, 23 Feb 2017 23:25:26 -0600 Subject: [PATCH 15/18] Fix debian_config.json on ubuntu16.10 When we only have a single shared framework, the python json parser throws an error since there is a hanging comma on the last property. Fixing this by removing the comma when there is only a single Shared Framework dependency. --- build/package/Microsoft.DotNet.Cli.Installer.DEB.targets | 3 ++- packaging/deb/dotnet-debian_config.json | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets index 5102f1ad5..a8801fd5b 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.DEB.targets @@ -83,7 +83,8 @@ - "$(AdditionalSharedFxDebianPackageName)" : {} + , + "$(AdditionalSharedFxDebianPackageName)" : {} diff --git a/packaging/deb/dotnet-debian_config.json b/packaging/deb/dotnet-debian_config.json index 4caa326c9..22e5beb77 100644 --- a/packaging/deb/dotnet-debian_config.json +++ b/packaging/deb/dotnet-debian_config.json @@ -29,7 +29,6 @@ }, "debian_dependencies":{ - "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}, - %SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY% + "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY% } } From 214adbe8591ceeec01c9047c53c023f423fc01f4 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 24 Feb 2017 13:07:59 -0600 Subject: [PATCH 16/18] Update README with new distros. Also take the formating from master and rel/1.0.0 for builds and installer links. --- README.md | 141 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 113 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index a3ab2b48f..2c52895f0 100644 --- a/README.md +++ b/README.md @@ -32,47 +32,132 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8.2 |Windows x64 |Windows x86 |Mac OS X |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 |OpenSUSE 13.2 |Fedora 23| -|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| -|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5562/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5562)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5564/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5564)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5552/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5552)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5566/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5566)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5568/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5568)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5558/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5558)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5550/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5550)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5560/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5560)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5556/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5556)|[![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5554/badge)](https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5554)| +|Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Ubuntu 16.10 |Debian 8.2 |Windows x64 |Windows x86 |Mac OS X |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 |OpenSUSE 13.2 |OpenSUSE 42.1 |Fedora 23|Fedora 24| +|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| +|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][ubuntu-16.10-build-badge]][ubuntu-16.10-build]|[![][debian-8.2-build-badge]][debian-8.2-build]|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][centos-build-badge]][centos-build]|[![][rhel-build-badge]][rhel-build]|[![][opensuse-13.2-build-badge]][opensuse-13.2-build]|[![][opensuse-42.1-build-badge]][opensuse-13.2-build]|[![][fedora-23-build-badge]][fedora-23-build]|[![][fedora-24-build-badge]][fedora-24-build]| + +[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5566/badge +[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5566 + +[win-x86-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5568/badge +[win-x86-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5568 + +[ubuntu-14.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5562/badge +[ubuntu-14.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5562 + +[ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5564/badge +[ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5564 + +[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5579/badge +[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5579 + +[debian-8.2-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5552/badge +[debian-8.2-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5552 + +[osx-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5558/badge +[osx-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5558 + +[centos-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5550/badge +[centos-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5550 + +[rhel-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5560/badge +[rhel-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5560 + +[opensuse-13.2-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5556/badge +[opensuse-13.2-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5556 + +[opensuse-42.1-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5577/badge +[opensuse-42.1-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5577 + +[fedora-23-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5554/badge +[fedora-23-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5554 + +[fedora-24-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5575/badge +[fedora-24-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5575 Installers and Binaries ----------------------- -You can download .NET Core as either an installer (MSI, PKG) or a zip (zip, gzip). You can download the product in two flavors: +You can download .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). .NET Core SDK contains both the .NET Core runtime and CLI tools. -- .NET Core - .NET Core runtime and framework -- .NET Core SDK - .NET Core + CLI tools +In order to download just the .NET Core runtime without the SDK, please visit https://github.com/dotnet/core-setup#daily-builds. > **Note:** please be aware that below installers are the **latest bits**. If you > want to install the latest released versions, please check out the [section above](#download-links).) -| | Version | .NET Core Installer | .NET Core SDK Installer | .NET Core Binaries | .NET Core SDK Binaries | -|----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| **Windows x64** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Windows_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-win-x64.latest.exe) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x64.latest.exe) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x64.latest.exe.sha) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-win-x64.latest.zip) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x64.latest.zip) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x64.latest.zip.sha) | -| **Windows x86** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Windows_x86_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-win-x86.latest.exe) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x86.latest.exe) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x86.latest.exe.sha) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-win-x86.latest.zip) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x86.latest.zip) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-win-x86.latest.zip.sha) | -| **Ubuntu 14.04 / Linux Mint 17** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | *See Below* | *See Below* | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-ubuntu-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-ubuntu-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-ubuntu-x64.latest.tar.gz.sha) | -| **Ubuntu 16.04** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_16_04_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-ubuntu.16.04-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-ubuntu.16.04-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-ubuntu.16.04-x64.latest.tar.gz.sha) | -| **Debian 8.2** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Debian_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-debian-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-debian-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-debian-x64.latest.tar.gz.sha) | -| **Mac OS X** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/OSX_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-osx-x64.latest.pkg) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-osx-x64.latest.pkg) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-osx-x64.latest.pkg.sha) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-osx-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-osx-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-osx-x64.latest.tar.gz.sha) | -| **CentOS 7.1 / Oracle Linux 7** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/CentOS_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-centos-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-centos-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-centos-x64.latest.tar.gz.sha) | -| **RHEL 7.2** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/RHEL_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-rhel-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-rhel-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-rhel-x64.latest.tar.gz.sha) | -| **openSUSE 13.2** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/openSUSE_13_2_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-opensuse.13.2-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-opensuse.13.2-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-opensuse.13.2-x64.latest.tar.gz.sha) | -| **Fedora 23** | [![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Fedora_23_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version) | N/A | N/A | [Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-fedora.23-x64.latest.tar.gz) | [Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-fedora.23-x64.latest.tar.gz) [Checksums](https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-dev-fedora.23-x64.latest.tar.gz.sha) | +| Platform | rel/1.0.1
[![][version-badge]][version] | +|----------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | +| **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | +| **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]
*See Installer Note Below
[tar.gz][ubuntu-14.04-targz] - [Checksum][ubuntu-14.04-targz-checksum] | +| **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]
*See Installer Note Below
[tar.gz][ubuntu-16.04-targz] - [Checksum][ubuntu-16.04-targz-checksum] | +| **Ubuntu 16.10** | [Installer][ubuntu-16.10-installer] - [Checksum][ubuntu-16.10-installer-checksum]
*See Installer Note Below
[tar.gz][ubuntu-16.10-targz] - [Checksum][ubuntu-16.10-targz-checksum] | +| **Debian 8.2** | [tar.gz][debian-8.2-targz] - [Checksum][debian-8.2-targz-checksum] | +| **Mac OS X** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | +| **CentOS 7.1 / Oracle Linux 7** | [tar.gz][centos-targz] - [Checksum][centos-targz-checksum] | +| **RHEL 7.2** | [tar.gz][rhel-targz] - [Checksum][rhel-targz-checksum] | +| **openSUSE 13.2** | [tar.gz][opensuse-13.2-targz] - [Checksum][opensuse-13.2-targz-checksum] | +| **openSUSE 42.1** | [tar.gz][opensuse-42.1-targz] - [Checksum][opensuse-42.1-targz-checksum] | +| **Fedora 23** | [tar.gz][fedora-23-targz] - [Checksum][fedora-23-targz-checksum] | +| **Fedora 24** | [tar.gz][fedora-24-targz] - [Checksum][fedora-24-targz-checksum] | -Ubuntu Installers ----------- +*Note: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.* -*Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install them in the order presented below.* +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/latest.version +[comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/Windows_x64_Release_version_badge.svg -**For Ubuntu 14.04 +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x64.latest.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x64.latest.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x64.latest.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x64.latest.zip.sha + +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x86.latest.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x86.latest.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x86.latest.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-win-x86.latest.zip.sha + +[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu-x64.latest.deb +[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu-x64.latest.deb.sha +[ubuntu-14.04-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu-x64.latest.tar.gz +[ubuntu-14.04-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu-x64.latest.tar.gz.sha + +[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu.16.04-x64.latest.deb +[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu.16.04-x64.latest.deb.sha +[ubuntu-16.04-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu.16.04-x64.latest.tar.gz +[ubuntu-16.04-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu.16.04-x64.latest.tar.gz.sha + +[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu.16.10-x64.latest.deb +[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-sdk-ubuntu.16.10-x64.latest.deb.sha +[ubuntu-16.10-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu.16.10-x64.latest.tar.gz +[ubuntu-16.10-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-ubuntu.16.10-x64.latest.tar.gz.sha + +[debian-8.2-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-debian-x64.latest.tar.gz +[debian-8.2-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-debian-x64.latest.tar.gz.sha + +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-osx-x64.latest.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-osx-x64.latest.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-osx-x64.latest.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-osx-x64.latest.tar.gz.sha + +[centos-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-centos-x64.latest.tar.gz +[centos-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-centos-x64.latest.tar.gz.sha + +[rhel-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-rhel-x64.latest.tar.gz +[rhel-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-rhel-x64.latest.tar.gz.sha + +[opensuse-13.2-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-opensuse.13.2-x64.latest.tar.gz +[opensuse-13.2-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-opensuse.13.2-x64.latest.tar.gz.sha + +[opensuse-42.1-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-opensuse.42.1-x64.latest.tar.gz +[opensuse-42.1-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-opensuse.42.1-x64.latest.tar.gz.sha + +[fedora-23-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-fedora.23-x64.latest.tar.gz +[fedora-23-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-fedora.23-x64.latest.tar.gz.sha + +[fedora-24-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-fedora.24-x64.latest.tar.gz +[fedora-24-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/rel-1.0.1/dotnet-dev-fedora.24-x64.latest.tar.gz.sha -| |Version |Installers| -|---------|:------:|:------:|:------:| -|**Shared Host**|[![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version)|[Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-host-ubuntu-x64.latest.deb)| -|**Host Framework Resolver**|[![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version)|[Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-hostfxr-ubuntu-x64.latest.deb)| -|**Shared Framework**|[![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version)|[Download](https://dotnetcli.blob.core.windows.net/dotnet/preview/Installers/Latest/dotnet-sharedframework-ubuntu-x64.latest.deb)| -|**Sdk**|[![](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/Ubuntu_x64_Release_version_badge.svg)](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/latest.version)|[Download](https://dotnetcli.blob.core.windows.net/dotnet/Sdk/rel-1.0.0/dotnet-sdk-ubuntu-x64.latest.deb)| Docker ------ From 5fcd68543322bbb5dc67a371b8c4cf7223d54686 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 24 Feb 2017 15:13:36 -0600 Subject: [PATCH 17/18] Update Stage0 to use the latest build. --- run-build.ps1 | 4 ++-- run-build.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index eb28d3c35..74edf1b42 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -103,8 +103,8 @@ if ($LastExitCode -ne 0) # install the post-PJnistic stage0 $dotnetInstallPath = Join-Path $toolsLocalPath "dotnet-install.ps1" -Write-Host "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Version ""1.0.0-rc4-004840"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Host "$dotnetInstallPath -Channel ""rel-1.0.1"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""rel-1.0.1"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 7c66e5f5f..f44a6619a 100755 --- a/run-build.sh +++ b/run-build.sh @@ -164,8 +164,8 @@ if [ $? != 0 ]; then fi # now execute the script -echo "installing CLI: $dotnetInstallPath --version \"1.0.0-rc4-004840\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" -$dotnetInstallPath --version "1.0.0-rc4-004840" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" +echo "installing CLI: $dotnetInstallPath --channel \"rel-1.0.1\" --install-dir $DOTNET_INSTALL_DIR --architecture \"$ARCHITECTURE\"" +$dotnetInstallPath --channel "rel-1.0.1" --install-dir $DOTNET_INSTALL_DIR --architecture "$ARCHITECTURE" if [ $? != 0 ]; then echo "run-build: Error: Boot-strapping post-PJ stage0 with exit code $?." >&2 exit $? From b55b5ad033b4132d452ece13ec17fea57a8d94c1 Mon Sep 17 00:00:00 2001 From: Piotr Puszkiewicz Date: Mon, 27 Feb 2017 10:21:42 -0800 Subject: [PATCH 18/18] Remove duplicate installer suffix --- build/Microsoft.DotNet.Cli.Monikers.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Microsoft.DotNet.Cli.Monikers.props b/build/Microsoft.DotNet.Cli.Monikers.props index 474ce7d1d..83a2063ae 100644 --- a/build/Microsoft.DotNet.Cli.Monikers.props +++ b/build/Microsoft.DotNet.Cli.Monikers.props @@ -1,7 +1,7 @@ - .NET Core SDK 1.0.1 ($(Architecture)) Installer + .NET Core SDK 1.0.1 Microsoft .NET Core 1.1.1 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver