From 35fc8c1d0e2f291e4199cb428c4fb9c37a34574d Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 8 Feb 2017 14:31:07 -0800 Subject: [PATCH 1/6] Step one of introducing a flag to drop the suffix out of our build versions. --- build/Microsoft.DotNet.Cli.Compile.targets | 4 +-- build/Microsoft.DotNet.Cli.Monikers.props | 2 +- build/Microsoft.DotNet.Cli.Prepare.targets | 18 ++++++------ build/Microsoft.DotNet.Cli.Test.targets | 1 - .../Microsoft.DotNet.Cli.Nupkg.targets | 3 +- build/test/TestPackageProjects.targets | 28 +++++++++---------- .../GenerateBuildVersionInfo.cs | 14 +--------- .../Utils/BuildVersion.cs | 13 --------- .../Utils/Version.cs | 4 +-- packaging/windows/clisdk/registrykeys.wxs | 2 +- 10 files changed, 31 insertions(+), 58 deletions(-) delete mode 100644 build_projects/shared-build-targets-utils/Utils/BuildVersion.cs diff --git a/build/Microsoft.DotNet.Cli.Compile.targets b/build/Microsoft.DotNet.Cli.Compile.targets index effb2348c..fe9359a2b 100644 --- a/build/Microsoft.DotNet.Cli.Compile.targets +++ b/build/Microsoft.DotNet.Cli.Compile.targets @@ -115,7 +115,7 @@ @@ -123,7 +123,7 @@ diff --git a/build/Microsoft.DotNet.Cli.Monikers.props b/build/Microsoft.DotNet.Cli.Monikers.props index 10981406b..615cbc0c7 100644 --- a/build/Microsoft.DotNet.Cli.Monikers.props +++ b/build/Microsoft.DotNet.Cli.Monikers.props @@ -1,7 +1,7 @@ - Microsoft .NET Core 1.0.3 - SDK RC 4 + Microsoft .NET Core 1.0.3 - SDK Microsoft .NET Core 1.0.3 - Runtime Microsoft .NET Core 1.1.0 - Host Microsoft .NET Core 1.1.0 - Host FX Resolver diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index 5eb5af4b1..93a9d5897 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -68,16 +68,18 @@ $(DefaultCommitCount) - $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) - $(ReleaseSuffix)-$(CommitCount) - $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(VersionSuffix) + $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) + $(VersionMajor).$(VersionMinor).$(VersionPatch) + + $(ReleaseSuffix)-$(CommitCount) + + $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(VersionSuffix) + $(VersionMajor).$(VersionMinor).$(VersionPatch) + + $(NugetVersion) + $(NugetVersion) $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg - $(NugetVersion) - - $(VersionMajor).$(VersionMinor).$(VersionPatch)-rc4-$(CommitCount) - $(VersionMajor).$(VersionMinor).$(VersionPatch)-rc4-$(CommitCount) - $(VersionMajor).$(VersionMinor).1-beta-$(CommitCount) .zip .tar.gz diff --git a/build/Microsoft.DotNet.Cli.Test.targets b/build/Microsoft.DotNet.Cli.Test.targets index 2b85daa3e..c5322c5b5 100644 --- a/build/Microsoft.DotNet.Cli.Test.targets +++ b/build/Microsoft.DotNet.Cli.Test.targets @@ -59,7 +59,6 @@ DependsOnTargets="Init; SetupTestProjectData"> - $(CommitCount) $(RepoRoot)/artifacts/testpackages/ $(TestOutputDir)/packagesBuild/ $(TestOutputDir)/packages/ diff --git a/build/package/Microsoft.DotNet.Cli.Nupkg.targets b/build/package/Microsoft.DotNet.Cli.Nupkg.targets index 5fef716f2..4e57d0c41 100644 --- a/build/package/Microsoft.DotNet.Cli.Nupkg.targets +++ b/build/package/Microsoft.DotNet.Cli.Nupkg.targets @@ -4,7 +4,6 @@ - $(CommitCount) $(RepoRoot)/src $(Stage2CompilationDirectory)/forPackaging $(PackagesDirectory) @@ -26,7 +25,7 @@ Output="$(NupkgOutputDirectory)" ProjectPath="%(ProjectsToPack.Identity)/%(ProjectsToPack.ProjectName).csproj" ToolPath="$(Stage0Directory)" - VersionSuffix="rc4-$(NupkgVersionSuffix)" + VersionSuffix="$(VersionSuffix)" Configuration="$(Configuration)" /> diff --git a/build/test/TestPackageProjects.targets b/build/test/TestPackageProjects.targets index a12580b82..4b7c98c80 100644 --- a/build/test/TestPackageProjects.targets +++ b/build/test/TestPackageProjects.targets @@ -22,8 +22,8 @@ Microsoft.DotNet.Cli.Utils.csproj True True - $(CliVersionPrefix)- - rc4-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) False Microsoft.DotNet.Cli.Utils.csproj True True - $(CliVersionPrefix)- - rc4-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) False /p:TargetFramework=netstandard1.5 @@ -42,8 +42,8 @@ Microsoft.DotNet.InternalAbstractions.csproj True True - 2.0.0-beta- - beta-$(TestPackageBuildVersionSuffix) + 2.0.0 + $(VersionSuffix) False dotnet-dependency-context-test.csproj True True - 1.0.0-rc- - rc-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) True @@ -71,8 +71,8 @@ dotnet-dependency-tool-invoker.csproj True True - 1.0.0-rc- - rc-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) True dotnet-desktop-and-portable.csproj True True - 1.0.0-rc- - rc-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) True /p:RuntimeIdentifier=$(CoreCLRRid) @@ -93,8 +93,8 @@ True True $(DesktopAvailable) - 1.0.0-rc- - rc-$(TestPackageBuildVersionSuffix) + $(CliVersionPrefix) + $(VersionSuffix) True /p:RuntimeIdentifier=$(CoreCLRRid) diff --git a/build_projects/dotnet-cli-build/GenerateBuildVersionInfo.cs b/build_projects/dotnet-cli-build/GenerateBuildVersionInfo.cs index 212eabc97..9e5c1d493 100644 --- a/build_projects/dotnet-cli-build/GenerateBuildVersionInfo.cs +++ b/build_projects/dotnet-cli-build/GenerateBuildVersionInfo.cs @@ -27,15 +27,6 @@ namespace Microsoft.DotNet.Cli.Build [Output] public string ReleaseSuffix { get; set; } - [Output] - public string VersionSuffix { get; set; } - - [Output] - public string SimpleVersion { get; set; } - - [Output] - public string NugetVersion { get; set; } - [Output] public string MsiVersion { get; set; } @@ -56,7 +47,7 @@ namespace Microsoft.DotNet.Cli.Build var branchInfo = new BranchInfo(RepoRoot); - var buildVersion = new BuildVersion() + var buildVersion = new Version { Major = int.Parse(branchInfo.Entries["MAJOR_VERSION"]), Minor = int.Parse(branchInfo.Entries["MINOR_VERSION"]), @@ -70,9 +61,6 @@ namespace Microsoft.DotNet.Cli.Build VersionPatch = buildVersion.Patch; CommitCount = buildVersion.CommitCountString; ReleaseSuffix = buildVersion.ReleaseSuffix; - VersionSuffix = buildVersion.VersionSuffix; - SimpleVersion = buildVersion.SimpleVersion; - NugetVersion = buildVersion.NuGetVersion; MsiVersion = buildVersion.GenerateMsiVersion(); VersionBadgeMoniker = Monikers.GetBadgeMoniker(); Channel = branchInfo.Entries["CHANNEL"]; diff --git a/build_projects/shared-build-targets-utils/Utils/BuildVersion.cs b/build_projects/shared-build-targets-utils/Utils/BuildVersion.cs deleted file mode 100644 index 3e526f00c..000000000 --- a/build_projects/shared-build-targets-utils/Utils/BuildVersion.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; - -namespace Microsoft.DotNet.Cli.Build -{ - public class BuildVersion : Version - { - public string SimpleVersion => $"{Major}.{Minor}.{Patch}.{CommitCountString}"; - public string VersionSuffix => $"{ReleaseSuffix}-{CommitCountString}"; - public string NuGetVersion => $"{Major}.{Minor}.{Patch}-{VersionSuffix}"; - public string NetCoreAppVersion => $"{Major}.{Minor}.{Patch}-rc4-{CommitCountString}"; - public string ProductionVersion => $"{Major}.{Minor}.{Patch}"; - } -} diff --git a/build_projects/shared-build-targets-utils/Utils/Version.cs b/build_projects/shared-build-targets-utils/Utils/Version.cs index 7bade35d6..def18eda2 100644 --- a/build_projects/shared-build-targets-utils/Utils/Version.cs +++ b/build_projects/shared-build-targets-utils/Utils/Version.cs @@ -1,8 +1,6 @@ -using System.Collections.Generic; - namespace Microsoft.DotNet.Cli.Build { - public abstract class Version + public class Version { public virtual int Major { get; set; } public virtual int Minor { get; set; } diff --git a/packaging/windows/clisdk/registrykeys.wxs b/packaging/windows/clisdk/registrykeys.wxs index 6da9817a3..44e0def3e 100644 --- a/packaging/windows/clisdk/registrykeys.wxs +++ b/packaging/windows/clisdk/registrykeys.wxs @@ -10,7 +10,7 @@ - + From d373ce8911ea29e6be020dc4a023234ad0b00102 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 8 Feb 2017 16:53:01 -0800 Subject: [PATCH 2/6] Enabling publish with drop suffix to still publish to a suffix based folder in blob to avoid conflicts. --- build/Microsoft.DotNet.Cli.Prepare.targets | 4 +++- build/Microsoft.DotNet.Cli.Publish.targets | 6 +++--- build/publish/FinishBuild.targets | 6 +++--- packaging/windows/clisdk/registrykeys.wxs | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index 93a9d5897..d5dcd5876 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -73,7 +73,9 @@ $(ReleaseSuffix)-$(CommitCount) - $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(VersionSuffix) + $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)-$(CommitCount) + + $(FullNugetVersion) $(VersionMajor).$(VersionMinor).$(VersionPatch) $(NugetVersion) diff --git a/build/Microsoft.DotNet.Cli.Publish.targets b/build/Microsoft.DotNet.Cli.Publish.targets index 9c66a492c..37ae1e48e 100644 --- a/build/Microsoft.DotNet.Cli.Publish.targets +++ b/build/Microsoft.DotNet.Cli.Publish.targets @@ -47,7 +47,7 @@ - $(Product)/$(NugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) @@ -62,7 +62,7 @@ - $(DotnetBlobRootUrl)/$(Product)/$(NugetVersion)/%(SdkInstallerFileItemGroup.Filename)%(SdkInstallerFileItemGroup.Extension) + $(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/%(SdkInstallerFileItemGroup.Filename)%(SdkInstallerFileItemGroup.Extension) $(SdkDebianIntermediateDirectory)/package_upload.json 1 @@ -89,7 +89,7 @@ - $(Product)/$(NugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index 307e23d30..206e131f2 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -8,7 +8,7 @@ + NugetVersion="$(FullNugetVersion)"> @@ -18,14 +18,14 @@ diff --git a/packaging/windows/clisdk/registrykeys.wxs b/packaging/windows/clisdk/registrykeys.wxs index 44e0def3e..6da9817a3 100644 --- a/packaging/windows/clisdk/registrykeys.wxs +++ b/packaging/windows/clisdk/registrykeys.wxs @@ -10,7 +10,7 @@ - + From 81a94c0902f6e79822209e0e0709583dc801dc96 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 9 Feb 2017 15:33:00 -0800 Subject: [PATCH 3/6] Enabling publishing the nupkgs produced by the CLI to blob storage and hooking up DropSuffix to the VS targeted nupkg of the CLI. --- build/Microsoft.DotNet.Cli.Prepare.targets | 3 +++ build/Microsoft.DotNet.Cli.Publish.targets | 1 + build/package/Microsoft.DotNet.Cli.Installer.MSI.targets | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index d5dcd5876..95462ad38 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -78,6 +78,9 @@ $(FullNugetVersion) $(VersionMajor).$(VersionMinor).$(VersionPatch) + $(NugetVersion) + $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)-final-$(CommitCount) + $(NugetVersion) $(NugetVersion) diff --git a/build/Microsoft.DotNet.Cli.Publish.targets b/build/Microsoft.DotNet.Cli.Publish.targets index 37ae1e48e..8ebfcba7a 100644 --- a/build/Microsoft.DotNet.Cli.Publish.targets +++ b/build/Microsoft.DotNet.Cli.Publish.targets @@ -43,6 +43,7 @@ + diff --git a/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets b/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets index c1d1474d3..88d7b8e06 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets @@ -23,7 +23,7 @@ $(InstallerOutputDirectory)/$(ArtifactNameWithVersionSdk)$(InstallerExtension) $(InstallerOutputDirectory)/$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(BundleExtension) $(RepoRoot)/packaging/windows/clisdk/VS.Redist.Common.Net.Core.SDK.$(Architecture).nuspec - $(InstallerOutputDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture).$(NugetVersion).nupkg + $(InstallerOutputDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture).$(NugetVersionToUseWithVS).nupkg @@ -134,7 +134,7 @@ From 1c896d440260d1d8ba44b509b5227bd9b9d565d3 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 9 Feb 2017 22:31:46 -0800 Subject: [PATCH 4/6] Adding release suffix as a modified parameter of the build and removing NugetVersionForVS. we don't need that concept. --- build/Microsoft.DotNet.Cli.Prepare.targets | 6 ++---- build/package/Microsoft.DotNet.Cli.Installer.MSI.targets | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/build/Microsoft.DotNet.Cli.Prepare.targets b/build/Microsoft.DotNet.Cli.Prepare.targets index 95462ad38..74ab8083a 100644 --- a/build/Microsoft.DotNet.Cli.Prepare.targets +++ b/build/Microsoft.DotNet.Cli.Prepare.targets @@ -58,7 +58,7 @@ - + @@ -67,6 +67,7 @@ $(DefaultCommitCount) + $(DefaultReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) $(VersionMajor).$(VersionMinor).$(VersionPatch) @@ -78,9 +79,6 @@ $(FullNugetVersion) $(VersionMajor).$(VersionMinor).$(VersionPatch) - $(NugetVersion) - $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)-final-$(CommitCount) - $(NugetVersion) $(NugetVersion) diff --git a/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets b/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets index 88d7b8e06..b75e89f3f 100644 --- a/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets +++ b/build/package/Microsoft.DotNet.Cli.Installer.MSI.targets @@ -23,7 +23,7 @@ $(InstallerOutputDirectory)/$(ArtifactNameWithVersionSdk)$(InstallerExtension) $(InstallerOutputDirectory)/$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(BundleExtension) $(RepoRoot)/packaging/windows/clisdk/VS.Redist.Common.Net.Core.SDK.$(Architecture).nuspec - $(InstallerOutputDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture).$(NugetVersionToUseWithVS).nupkg + $(InstallerOutputDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg @@ -134,7 +134,7 @@ From c9802904313a273b29bf945e79e41f8bc4df7a96 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Sat, 11 Feb 2017 23:55:38 -0800 Subject: [PATCH 5/6] Adding DropSuffix and ReleaseSuffix as enviroment variables passed down to docker. --- scripts/dockerrun.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index b478a2a10..0edb30ed4 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -134,5 +134,7 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e CHECKSUM_STORAGE_CONTAINER \ -e CLIBUILD_SKIP_TESTS \ -e CommitCount \ + -e DropSuffix \ + -e ReleaseSuffix \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 02c70abe49caf83664a0b1b9aa1de0109b3aaf34 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Sat, 11 Feb 2017 19:11:14 -0800 Subject: [PATCH 6/6] Updating the version of the ASP.NET packages that we migrate to, to the RTM package versions. --- .../ConstantPackageVersions.cs | 5 ++--- .../SupportedPackageVersions.cs | 11 +++++++++++ .../Rules/GivenThatIWantToMigrateTools.cs | 9 +++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.DotNet.ProjectJsonMigration/ConstantPackageVersions.cs b/src/Microsoft.DotNet.ProjectJsonMigration/ConstantPackageVersions.cs index 9928d0e67..bb86cd1c3 100644 --- a/src/Microsoft.DotNet.ProjectJsonMigration/ConstantPackageVersions.cs +++ b/src/Microsoft.DotNet.ProjectJsonMigration/ConstantPackageVersions.cs @@ -5,8 +5,8 @@ namespace Microsoft.DotNet.ProjectJsonMigration { internal class ConstantPackageVersions { - public const string AspNetToolsVersion = "1.0.0-msbuild3-final"; - public const string AspNet110ToolsVersion = "1.1.0-msbuild3-final"; + public const string AspNetToolsVersion = "1.0.0"; + public const string AspNet110ToolsVersion = "1.1.0"; public const string AspNetLTSPackagesVersion = "1.0.2"; public const string EntityFrameworkLTSPackagesVersion = "1.0.2"; public const string TestSdkPackageVersion = "15.0.0-preview-20170106-08"; @@ -15,6 +15,5 @@ namespace Microsoft.DotNet.ProjectJsonMigration public const string MstestTestAdapterVersion = "1.1.8-rc"; public const string MstestTestFrameworkVersion = "1.0.8-rc"; public const string BundleMinifierToolVersion = "2.2.301"; - public const string WebSdkPackageVersion = "1.0.0-alpha-20161205-1-154" ; } } \ No newline at end of file diff --git a/src/Microsoft.DotNet.ProjectJsonMigration/SupportedPackageVersions.cs b/src/Microsoft.DotNet.ProjectJsonMigration/SupportedPackageVersions.cs index f1feedeb0..511763603 100644 --- a/src/Microsoft.DotNet.ProjectJsonMigration/SupportedPackageVersions.cs +++ b/src/Microsoft.DotNet.ProjectJsonMigration/SupportedPackageVersions.cs @@ -53,6 +53,17 @@ namespace Microsoft.DotNet.ProjectJsonMigration Version = ConstantPackageVersions.AspNetToolsVersion } }, + { + new PackageDependencyInfo + { + Name = "Microsoft.EntityFrameworkCore.Tools.DotNet", + Version = "[1.0.0-*,)" + }, + new PackageDependencyInfo { + Name = "Microsoft.EntityFrameworkCore.Tools.DotNet", + Version = ConstantPackageVersions.AspNetToolsVersion + } + }, { new PackageDependencyInfo { diff --git a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateTools.cs b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateTools.cs index a014ac163..afcede957 100644 --- a/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateTools.cs +++ b/test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateTools.cs @@ -59,6 +59,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests } [Theory] + [InlineData("Microsoft.EntityFrameworkCore.Tools.DotNet", "Microsoft.EntityFrameworkCore.Tools.DotNet", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.EntityFrameworkCore.Tools", "Microsoft.EntityFrameworkCore.Tools.DotNet", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.VisualStudio.Web.CodeGeneration.Tools", "Microsoft.VisualStudio.Web.CodeGeneration.Tools", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.DotNet.Watcher.Tools", "Microsoft.DotNet.Watcher.Tools", ConstantPackageVersions.AspNetToolsVersion)] @@ -90,5 +91,13 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests var packageRef = mockProj.Items.Where(i => i.ItemType == "DotNetCliToolReference").Should().BeEmpty(); } + + [Fact] + public void ItMergesEntityFrameworkCoreToolsAndEntityFrameworkCoreToolsDotNet() + { + var mockProj = RunPackageDependenciesRuleOnPj("{ \"tools\": { \"Microsoft.EntityFrameworkCore.Tools\": \"1.0.0-preview4-final\", \"Microsoft.EntityFrameworkCore.Tools.DotNet\": \"1.0.0-preview4-final\" } }"); + + EmitsToolReferences(mockProj, Tuple.Create("Microsoft.EntityFrameworkCore.Tools.DotNet", ConstantPackageVersions.AspNetToolsVersion)); + } } } \ No newline at end of file