Merge pull request #5288 from livarcocc/migrate_1_1_0_asp_dependencies

Migrate  1.1.0 asp dependencies and move dependencies to LTS
This commit is contained in:
Livar 2017-01-12 13:16:18 -08:00 committed by GitHub
commit c9216f93ef
12 changed files with 908 additions and 104 deletions

View file

@ -6,6 +6,9 @@ namespace Microsoft.DotNet.ProjectJsonMigration
internal class ConstantPackageVersions internal class ConstantPackageVersions
{ {
public const string AspNetToolsVersion = "1.0.0-msbuild3-final"; public const string AspNetToolsVersion = "1.0.0-msbuild3-final";
public const string AspNet110ToolsVersion = "1.1.0-msbuild3-final";
public const string AspNetLTSPackagesVersion = "1.0.2";
public const string EntityFrameworkLTSPackagesVersion = "1.0.2";
public const string TestSdkPackageVersion = "15.0.0-preview-20170106-08"; public const string TestSdkPackageVersion = "15.0.0-preview-20170106-08";
public const string XUnitPackageVersion = "2.2.0-beta4-build3444"; public const string XUnitPackageVersion = "2.2.0-beta4-build3444";
public const string XUnitRunnerPackageVersion = "2.2.0-beta4-build1194"; public const string XUnitRunnerPackageVersion = "2.2.0-beta4-build1194";

View file

@ -0,0 +1,55 @@
// 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 System;
using System.Collections.Generic;
using System.IO;
namespace Microsoft.DotNet.ProjectJsonMigration
{
internal class DotnetSupportedPackageVersionsCsvProvider : IDotnetSupportedPackageVersionsProvider
{
public void AddDotnetSupportedPackageVersions(
IDictionary<PackageDependencyInfo, PackageDependencyInfo> projectDependenciesPackages)
{
var dotnetSupportedPackageVersionsPath =
Path.Combine(AppContext.BaseDirectory, "dotnet-supported-package-versions.csv");
using (var reader = new StreamReader(File.OpenRead(dotnetSupportedPackageVersionsPath)))
{
SkipHeader(reader);
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
var packageName = values[0];
var ltsVersion = values[1];
if (HasVersion(ltsVersion))
{
projectDependenciesPackages.Add(
new PackageDependencyInfo
{
Name = packageName,
Version = $"[,{ltsVersion})"
},
new PackageDependencyInfo
{
Name = packageName,
Version = ltsVersion
});
}
}
}
}
private void SkipHeader(StreamReader reader)
{
reader.ReadLine();
}
private bool HasVersion(string version)
{
return !string.IsNullOrEmpty(version);
}
}
}

View file

@ -0,0 +1,13 @@
// 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 System.Collections.Generic;
namespace Microsoft.DotNet.ProjectJsonMigration
{
internal interface IDotnetSupportedPackageVersionsProvider
{
void AddDotnetSupportedPackageVersions(
IDictionary<PackageDependencyInfo, PackageDependencyInfo> projectDependenciesPackages);
}
}

View file

@ -11,6 +11,9 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="sdkdefaults.json" /> <EmbeddedResource Include="sdkdefaults.json" />
<Content Include="dotnet-supported-package-versions.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Microsoft.DotNet.Cli.Sln.Internal\Microsoft.DotNet.Cli.Sln.Internal.csproj" /> <ProjectReference Include="..\Microsoft.DotNet.Cli.Sln.Internal\Microsoft.DotNet.Cli.Sln.Internal.csproj" />

View file

@ -1,80 +0,0 @@
// 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 System.Collections.Generic;
namespace Microsoft.DotNet.ProjectJsonMigration
{
internal class PackageDependencyInfo
{
public string Name { get; set; }
public string Version { get; set; }
public string PrivateAssets { get; set; }
}
internal class PackageConstants
{
public const string SdkPackageName = "Microsoft.NET.Sdk";
public const string WebSdkPackageName = "Microsoft.NET.Sdk.Web";
public const string TestSdkPackageName = "Microsoft.NET.Test.Sdk";
public const string XUnitPackageName = "xunit";
public const string XUnitRunnerPackageName = "xunit.runner.visualstudio";
public const string MstestTestAdapterName = "MSTest.TestAdapter";
public const string MstestTestFrameworkName = "MSTest.TestFramework";
public const string NetStandardPackageName = "NETStandard.Library";
public const string NetStandardPackageVersion = "1.6.0";
public const string DotnetTestXunit = "dotnet-test-xunit";
public const string DotnetTestMSTest = "dotnet-test-mstest";
public static readonly IDictionary<string, PackageDependencyInfo> ProjectDependencyPackages =
new Dictionary<string, PackageDependencyInfo> {
{"Microsoft.EntityFrameworkCore.Tools", new PackageDependencyInfo {
Name = "Microsoft.EntityFrameworkCore.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.AspNetCore.Razor.Tools", null },
{ "Microsoft.AspNetCore.Razor.Design", null },
{ "Microsoft.VisualStudio.Web.CodeGenerators.Mvc", new PackageDependencyInfo {
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Design",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.VisualStudio.Web.CodeGeneration.Tools", null},
{ TestSdkPackageName, new PackageDependencyInfo {
Name = TestSdkPackageName,
Version = ConstantPackageVersions.TestSdkPackageVersion } },
{ XUnitPackageName, new PackageDependencyInfo {
Name = XUnitPackageName,
Version = ConstantPackageVersions.XUnitPackageVersion } },
{ XUnitRunnerPackageName, new PackageDependencyInfo {
Name = XUnitRunnerPackageName,
Version = ConstantPackageVersions.XUnitRunnerPackageVersion } },
{ MstestTestAdapterName, new PackageDependencyInfo {
Name = MstestTestAdapterName,
Version = ConstantPackageVersions.MstestTestAdapterVersion } },
{ MstestTestFrameworkName, new PackageDependencyInfo {
Name = MstestTestFrameworkName,
Version = ConstantPackageVersions.MstestTestFrameworkVersion } },
{ DotnetTestXunit, null },
{ DotnetTestMSTest, null },
};
public static readonly IDictionary<string, PackageDependencyInfo> ProjectToolPackages =
new Dictionary<string, PackageDependencyInfo> {
{"Microsoft.EntityFrameworkCore.Tools", new PackageDependencyInfo {
Name = "Microsoft.EntityFrameworkCore.Tools.DotNet",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.AspNetCore.Razor.Tools", null },
{ "Microsoft.VisualStudio.Web.CodeGeneration.Tools", new PackageDependencyInfo {
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.DotNet.Watcher.Tools", new PackageDependencyInfo {
Name = "Microsoft.DotNet.Watcher.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.Extensions.SecretManager.Tools", new PackageDependencyInfo {
Name = "Microsoft.Extensions.SecretManager.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion } },
{ "Microsoft.AspNetCore.Server.IISIntegration.Tools", null},
{ "BundlerMinifier.Core", new PackageDependencyInfo {
Name = "BundlerMinifier.Core",
Version = ConstantPackageVersions.BundleMinifierToolVersion } }
};
}
}

View file

@ -13,6 +13,7 @@ using Microsoft.DotNet.Internal.ProjectModel;
using Microsoft.DotNet.Tools.Common; using Microsoft.DotNet.Tools.Common;
using NuGet.Frameworks; using NuGet.Frameworks;
using NuGet.LibraryModel; using NuGet.LibraryModel;
using NuGet.Versioning;
namespace Microsoft.DotNet.ProjectJsonMigration.Rules namespace Microsoft.DotNet.ProjectJsonMigration.Rules
{ {
@ -22,10 +23,14 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
private readonly ProjectDependencyFinder _projectDependencyFinder; private readonly ProjectDependencyFinder _projectDependencyFinder;
private string _projectDirectory; private string _projectDirectory;
private SupportedPackageVersions _supportedPackageVersions;
public MigratePackageDependenciesAndToolsRule(ITransformApplicator transformApplicator = null) public MigratePackageDependenciesAndToolsRule(ITransformApplicator transformApplicator = null)
{ {
_transformApplicator = transformApplicator ?? new TransformApplicator(); _transformApplicator = transformApplicator ?? new TransformApplicator();
_projectDependencyFinder = new ProjectDependencyFinder(); _projectDependencyFinder = new ProjectDependencyFinder();
_supportedPackageVersions = new SupportedPackageVersions();
} }
public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs) public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs)
@ -91,7 +96,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.TestSdkPackageName, Name = SupportedPackageVersions.TestSdkPackageName,
Version = ConstantPackageVersions.TestSdkPackageVersion Version = ConstantPackageVersions.TestSdkPackageVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
@ -103,7 +108,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.XUnitPackageName, Name = SupportedPackageVersions.XUnitPackageName,
Version = ConstantPackageVersions.XUnitPackageVersion Version = ConstantPackageVersions.XUnitPackageVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
@ -113,7 +118,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.XUnitRunnerPackageName, Name = SupportedPackageVersions.XUnitRunnerPackageName,
Version = ConstantPackageVersions.XUnitRunnerPackageVersion Version = ConstantPackageVersions.XUnitRunnerPackageVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
@ -125,7 +130,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.MstestTestAdapterName, Name = SupportedPackageVersions.MstestTestAdapterName,
Version = ConstantPackageVersions.MstestTestAdapterVersion Version = ConstantPackageVersions.MstestTestAdapterVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
@ -135,7 +140,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.MstestTestFrameworkName, Name = SupportedPackageVersions.MstestTestFrameworkName,
Version = ConstantPackageVersions.MstestTestFrameworkVersion Version = ConstantPackageVersions.MstestTestFrameworkVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
@ -144,14 +149,14 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
break; break;
case ProjectType.Library: case ProjectType.Library:
if (!project.HasDependency( if (!project.HasDependency(
(dep) => dep.Name.Trim().ToLower() == PackageConstants.NetStandardPackageName.ToLower())) (dep) => dep.Name.Trim().ToLower() == SupportedPackageVersions.NetStandardPackageName.ToLower()))
{ {
_transformApplicator.Execute( _transformApplicator.Execute(
PackageDependencyInfoTransform().Transform( PackageDependencyInfoTransform().Transform(
new PackageDependencyInfo new PackageDependencyInfo
{ {
Name = PackageConstants.NetStandardPackageName, Name = SupportedPackageVersions.NetStandardPackageName,
Version = PackageConstants.NetStandardPackageVersion Version = SupportedPackageVersions.NetStandardPackageVersion
}), }),
noFrameworkPackageReferenceItemGroup, noFrameworkPackageReferenceItemGroup,
mergeExisting: true); mergeExisting: true);
@ -208,7 +213,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
_transformApplicator.Execute( _transformApplicator.Execute(
ToolTransform().Transform(ToPackageDependencyInfo( ToolTransform().Transform(ToPackageDependencyInfo(
tool, tool,
PackageConstants.ProjectToolPackages)), SupportedPackageVersions.ProjectToolPackages)),
itemGroup, itemGroup,
mergeExisting: true); mergeExisting: true);
} }
@ -266,7 +271,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
_transformApplicator.Execute( _transformApplicator.Execute(
transform.Transform(ToPackageDependencyInfo( transform.Transform(ToPackageDependencyInfo(
packageDependency, packageDependency,
PackageConstants.ProjectDependencyPackages)), _supportedPackageVersions.ProjectDependencyPackages)),
itemGroup, itemGroup,
mergeExisting: true); mergeExisting: true);
} }
@ -274,14 +279,26 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
private PackageDependencyInfo ToPackageDependencyInfo( private PackageDependencyInfo ToPackageDependencyInfo(
ProjectLibraryDependency dependency, ProjectLibraryDependency dependency,
IDictionary<string, PackageDependencyInfo> dependencyToVersionMap) IDictionary<PackageDependencyInfo, PackageDependencyInfo> dependencyToVersionMap)
{ {
var name = dependency.Name; var name = dependency.Name;
var version = dependency.LibraryRange?.VersionRange?.OriginalString; var version = dependency.LibraryRange?.VersionRange?.OriginalString;
var minRange = dependency.LibraryRange?.VersionRange?.ToNonSnapshotRange().MinVersion;
if (dependencyToVersionMap.ContainsKey(name)) var possibleMappings =
dependencyToVersionMap.Where(c => c.Key.Name.Equals(name, StringComparison.OrdinalIgnoreCase));
if (possibleMappings.Any() && !string.IsNullOrEmpty(version))
{ {
var dependencyInfo = dependencyToVersionMap[name]; var possibleVersions = possibleMappings.Select(p => VersionRange.Parse(p.Key.Version));
var matchVersion = possibleVersions.FirstOrDefault(p => p.Satisfies(minRange));
if (matchVersion == null)
{
return null;
}
var dependencyInfo = possibleMappings.First(c =>
c.Key.Version.Equals(matchVersion.OriginalString, StringComparison.OrdinalIgnoreCase)).Value;
if (dependencyInfo == null) if (dependencyInfo == null)
{ {
return null; return null;

View file

@ -85,7 +85,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
{ {
var packageRefs = outputMSBuildProject var packageRefs = outputMSBuildProject
.Items .Items
.Where(i => i.ItemType == "PackageReference" && i.Include != PackageConstants.SdkPackageName) .Where(i => i.ItemType == "PackageReference" && i.Include != SupportedPackageVersions.SdkPackageName)
.ToList(); .ToList();
foreach (var packageRef in packageRefs) foreach (var packageRef in packageRefs)

View file

@ -0,0 +1,250 @@
// 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 System;
using System.Collections.Generic;
using System.IO;
namespace Microsoft.DotNet.ProjectJsonMigration
{
internal class PackageDependencyInfo
{
public string Name { get; set; }
public string Version { get; set; }
public string PrivateAssets { get; set; }
}
internal class SupportedPackageVersions
{
public const string SdkPackageName = "Microsoft.NET.Sdk";
public const string WebSdkPackageName = "Microsoft.NET.Sdk.Web";
public const string TestSdkPackageName = "Microsoft.NET.Test.Sdk";
public const string XUnitPackageName = "xunit";
public const string XUnitRunnerPackageName = "xunit.runner.visualstudio";
public const string MstestTestAdapterName = "MSTest.TestAdapter";
public const string MstestTestFrameworkName = "MSTest.TestFramework";
public const string NetStandardPackageName = "NETStandard.Library";
public const string NetStandardPackageVersion = "1.6.0";
public const string DotnetTestXunit = "dotnet-test-xunit";
public const string DotnetTestMSTest = "dotnet-test-mstest";
public readonly IDictionary<PackageDependencyInfo, PackageDependencyInfo> ProjectDependencyPackages;
public static readonly IDictionary<PackageDependencyInfo, PackageDependencyInfo> ProjectToolPackages =
new Dictionary<PackageDependencyInfo, PackageDependencyInfo> {
{
new PackageDependencyInfo
{
Name = "Microsoft.EntityFrameworkCore.Tools",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "Microsoft.EntityFrameworkCore.Tools.DotNet",
Version = ConstantPackageVersions.AspNetToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.AspNetCore.Razor.Tools",
Version = "[1.0.0-*,)"
},
null
},
{
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.DotNet.Watcher.Tools",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "Microsoft.DotNet.Watcher.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.Extensions.SecretManager.Tools",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "Microsoft.Extensions.SecretManager.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.AspNetCore.Server.IISIntegration.Tools",
Version = "[1.0.0-*,)"
},
null
},
{
new PackageDependencyInfo{
Name = "BundlerMinifier.Core",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "BundlerMinifier.Core",
Version = ConstantPackageVersions.BundleMinifierToolVersion
}
}
};
public SupportedPackageVersions()
{
ProjectDependencyPackages =
new Dictionary<PackageDependencyInfo, PackageDependencyInfo> {
{
new PackageDependencyInfo {
Name = "Microsoft.EntityFrameworkCore.Tools",
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = "Microsoft.EntityFrameworkCore.Tools",
Version = ConstantPackageVersions.AspNetToolsVersion }
},
{
new PackageDependencyInfo
{
Name = "Microsoft.AspNetCore.Razor.Tools",
Version = "[1.0.0-*,)"
},
null
},
{
new PackageDependencyInfo
{
Name = "Microsoft.AspNetCore.Razor.Design",
Version = "[1.0.0-*,)"
},
null
},
// I hate to do this, but ordering here matters. The higher version needs to come first, otherwise
// the lower version mapping will match to it.
{
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGenerators.Mvc",
Version = "[1.1.0-*,)"
},
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Design",
Version = ConstantPackageVersions.AspNet110ToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGenerators.Mvc",
Version = "[1.0.0-*,1.1.0)"
},
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Design",
Version = ConstantPackageVersions.AspNetToolsVersion
}
},
{
new PackageDependencyInfo
{
Name = "Microsoft.VisualStudio.Web.CodeGeneration.Tools",
Version = "[1.0.0-*,)"
},
null
},
{
new PackageDependencyInfo
{
Name = TestSdkPackageName,
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo
{
Name = TestSdkPackageName,
Version = ConstantPackageVersions.TestSdkPackageVersion
}
},
{
new PackageDependencyInfo
{
Name = XUnitPackageName,
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo
{
Name = XUnitPackageName,
Version = ConstantPackageVersions.XUnitPackageVersion
}
},
{
new PackageDependencyInfo
{
Name = XUnitRunnerPackageName,
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = XUnitRunnerPackageName,
Version = ConstantPackageVersions.XUnitRunnerPackageVersion
}
},
{
new PackageDependencyInfo
{
Name = MstestTestAdapterName,
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo
{
Name = MstestTestAdapterName,
Version = ConstantPackageVersions.MstestTestAdapterVersion
}
},
{
new PackageDependencyInfo
{
Name = MstestTestFrameworkName,
Version = "[1.0.0-*,)"
},
new PackageDependencyInfo {
Name = MstestTestFrameworkName,
Version = ConstantPackageVersions.MstestTestFrameworkVersion
}
},
{
new PackageDependencyInfo
{
Name = DotnetTestXunit,
Version = "[1.0.0-*,)"
},
null
},
{
new PackageDependencyInfo
{
Name = DotnetTestMSTest,
Version = "[1.0.0-*,)"
},
null
}
};
new DotnetSupportedPackageVersionsCsvProvider()
.AddDotnetSupportedPackageVersions(ProjectDependencyPackages);
}
}
}

View file

@ -0,0 +1,311 @@
Id,LtsVersion,CurrentVersion
Microsoft.NETCore.App,1.0.3,1.1.0
Microsoft.AspNetCore,1.0.3,1.1.0
Microsoft.AspNetCore.Authentication,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.Cookies,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.Facebook,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.Google,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.JwtBearer,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.MicrosoftAccount,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.OAuth,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.OpenIdConnect,1.0.1,1.1.0
Microsoft.AspNetCore.Authentication.Twitter,1.0.1,1.1.0
Microsoft.AspNetCore.CookiePolicy,1.0.1,1.1.0
Microsoft.AspNetCore.Cors,1.0.1,1.1.0
Microsoft.AspNetCore.DataProtection,1.0.1,1.1.0
Microsoft.AspNetCore.DataProtection.Extensions,1.0.1,1.1.0
Microsoft.AspNetCore.DataProtection.SystemWeb,1.0.1,1.1.0
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore,1.0.1,1.1.0
Microsoft.AspNetCore.Hosting.WindowsServices,1.0.1,1.1.0
Microsoft.AspNetCore.Html.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Identity.EntityFrameworkCore,1.0.1,1.1.0
Microsoft.AspNetCore.MiddlewareAnalysis,1.0.1,1.1.0
Microsoft.AspNetCore.Mvc,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Abstractions,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.ApiExplorer,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Formatters.Xml,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.WebApiCompatShim,1.0.2,1.1.0
Microsoft.AspNetCore.Owin,1.0.1,1.1.0
Microsoft.AspNetCore.Routing,1.0.2,1.1.0
Microsoft.AspNetCore.Routing.Abstractions,1.0.2,1.1.0
Microsoft.AspNetCore.Server.Kestrel.Https,1.0.2,1.1.0
Microsoft.AspNetCore.Session,1.0.1,1.1.0
Microsoft.AspNetCore.StaticFiles,1.0.1,1.1.0
Microsoft.AspNetCore.TestHost,1.0.1,1.1.0
Microsoft.Data.Sqlite,1.0.1,1.1.0
Microsoft.EntityFrameworkCore,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.Design,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.InMemory,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.Relational,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.Relational.Design,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.Sqlite,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.Sqlite.Design,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.SqlServer,1.0.2,1.1.0
Microsoft.EntityFrameworkCore.SqlServer.Design,1.0.2,1.1.0
Microsoft.Extensions.Caching.Memory,1.0.1,1.1.0
Microsoft.Extensions.Caching.Redis,1.0.1,1.1.0
Microsoft.Extensions.Caching.SqlServer,1.0.1,1.1.0
Microsoft.Extensions.CommandLineUtils,1.0.1,1.1.0
Microsoft.Extensions.Configuration,1.0.1,1.1.0
Microsoft.Extensions.Configuration.Binder,1.0.1,1.1.0
Microsoft.Extensions.Configuration.CommandLine,1.0.1,1.1.0
Microsoft.Extensions.Configuration.EnvironmentVariables,1.0.1,1.1.0
Microsoft.Extensions.Configuration.FileExtensions,1.0.1,1.1.0
Microsoft.Extensions.Configuration.Ini,1.0.1,1.1.0
Microsoft.Extensions.Configuration.Json,1.0.1,1.1.0
Microsoft.Extensions.Configuration.UserSecrets,1.0.1,1.1.0
Microsoft.Extensions.Configuration.Xml,1.0.1,1.1.0
Microsoft.Extensions.DependencyInjection,1.0.1,1.1.0
Microsoft.Extensions.DiagnosticAdapter,1.0.1,1.1.0
Microsoft.Extensions.FileProviders.Composite,1.0.1,1.1.0
Microsoft.Extensions.FileProviders.Embedded,1.0.1,1.1.0
Microsoft.Extensions.FileProviders.Physical,1.0.1,1.1.0
Microsoft.Extensions.FileSystemGlobbing,1.0.1,1.1.0
Microsoft.Extensions.Globalization.CultureInfoCache,1.0.1,1.1.0
Microsoft.Extensions.Localization,1.0.1,1.1.0
Microsoft.Extensions.Logging,1.0.1,1.1.0
Microsoft.Extensions.Logging.Console,1.0.1,1.1.0
Microsoft.Extensions.Logging.Debug,1.0.1,1.1.0
Microsoft.Extensions.Logging.Filter,1.0.1,1.1.0
Microsoft.Extensions.Logging.TraceSource,1.0.1,1.1.0
Microsoft.VisualStudio.Web.BrowserLink,1.0.0,1.0.0
Microsoft.VisualStudio.Web.BrowserLink.Loader,14.0.1,14.1.0
Microsoft.AspNetCore.AzureAppServicesIntegration,,1.0.0
Microsoft.AspNetCore.DataProtection.AzureStorage,,1.0.0
Microsoft.AspNetCore.Localization.Routing,,1.1.0
Microsoft.AspNetCore.Rewrite,,1.0.0
Microsoft.AspNetCore.ResponseCaching,,1.1.0
Microsoft.AspNetCore.ResponseCompression,,1.0.0
Microsoft.AspNetCore.WebSockets,,1.0.0
Microsoft.Extensions.Logging.AzureAppServices,,1.0.0
Microsoft.Extensions.Configuration.AzureKeyVault,,1.0.0
Microsoft.Extensions.Logging.EventSource,,1.1.0
System.ServiceModel.Duplex,4.0.1,4.3.0
System.ServiceModel.Http,4.1.0,4.3.0
System.ServiceModel.NetTcp,4.1.0,4.3.0
System.ServiceModel.Security,4.0.1,4.3.0
Libuv,1.9.1,1.9.1
Microsoft.AspNet.WebApi.Client,5.2.2,5.2.2
Microsoft.AspNetCore.Antiforgery,1.0.2,1.1.0
Microsoft.AspNetCore.Authorization,1.0.1,1.1.0
Microsoft.AspNetCore.Cryptography.Internal,1.0.1,1.1.0
Microsoft.AspNetCore.Cryptography.KeyDerivation,1.0.1,1.1.0
Microsoft.AspNetCore.DataProtection.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Diagnostics,1.0.1,1.1.0
Microsoft.AspNetCore.Diagnostics.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Hosting,1.0.1,1.1.0
Microsoft.AspNetCore.Hosting.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Hosting.Server.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Http,1.0.1,1.1.0
Microsoft.AspNetCore.Http.Abstractions,1.0.1,1.1.0
Microsoft.AspNetCore.Http.Extensions,1.0.1,1.1.0
Microsoft.AspNetCore.Http.Features,1.0.1,1.1.0
Microsoft.AspNetCore.HttpOverrides,1.0.1,1.1.0
Microsoft.AspNetCore.Identity,1.0.1,1.1.0
Microsoft.AspNetCore.JsonPatch,1.0.0,1.1.0
Microsoft.AspNetCore.Localization,1.0.1,1.1.0
Microsoft.AspNetCore.Mvc.Core,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Cors,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.DataAnnotations,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Formatters.Json,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Localization,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Razor,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.Razor.Host,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.TagHelpers,1.0.2,1.1.0
Microsoft.AspNetCore.Mvc.ViewFeatures,1.0.2,1.1.0
Microsoft.AspNetCore.Razor,1.0.1,1.1.0
Microsoft.AspNetCore.Razor.Runtime,1.0.1,1.1.0
Microsoft.AspNetCore.Server.IISIntegration,1.0.1,1.1.0
Microsoft.AspNetCore.Server.Kestrel,1.0.2,1.1.0
Microsoft.AspNetCore.WebUtilities,1.0.1,1.1.0
Microsoft.Bcl,1.1.9,1.1.9
Microsoft.Bcl.Build,1.0.14,1.0.14
Microsoft.CodeAnalysis.Analyzers,1.1.0,1.1.0
Microsoft.CodeAnalysis.Common,1.3.0,1.3.0
Microsoft.CodeAnalysis.CSharp,1.3.0,1.3.0
Microsoft.CodeAnalysis.VisualBasic,1.3.0,1.3.0
Microsoft.CSharp,4.0.1,4.3.0
Microsoft.DotNet.InternalAbstractions,1.0.0,
Microsoft.Extensions.Caching.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.Configuration.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.DependencyInjection.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.DependencyModel,1.0.0,1.1.0
Microsoft.Extensions.FileProviders.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.Localization.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.Logging.Abstractions,1.0.1,1.1.0
Microsoft.Extensions.ObjectPool,1.0.1,1.1.0
Microsoft.Extensions.Options,1.0.1,1.1.0
Microsoft.Extensions.Options.ConfigurationExtensions,1.0.1,1.1.0
Microsoft.Extensions.PlatformAbstractions,1.0.0,1.1.0
Microsoft.Extensions.Primitives,1.0.1,1.1.0
Microsoft.Extensions.WebEncoders,1.0.1,1.1.0
Microsoft.IdentityModel.Logging,1.0.0,1.1.0
Microsoft.IdentityModel.Protocols,2.0.0,2.1.0
Microsoft.IdentityModel.Protocols.OpenIdConnect,2.0.0,2.1.0
Microsoft.IdentityModel.Tokens,5.0.0,5.1.0
Microsoft.Net.Http,2.2.22,2.2.22
Microsoft.Net.Http.Headers,1.0.1,1.1.0
Microsoft.NETCore.DotNetHost,1.0.1,1.1.0
Microsoft.NETCore.DotNetHostPolicy,1.0.3,1.1.0
Microsoft.NETCore.DotNetHostResolver,1.0.1,1.1.0
Microsoft.NETCore.Jit,1.0.5,1.1.0
Microsoft.NETCore.Platforms,1.0.2,1.1.0
Microsoft.NETCore.Runtime.CoreCLR,1.0.5,1.1.0
Microsoft.NETCore.Targets,1.0.1,1.1.0
Microsoft.NETCore.Windows.ApiSets,1.0.1,1.0.1
Microsoft.VisualBasic,10.0.1,10.1.0
Microsoft.Win32.Primitives,4.0.1,4.3.0
Microsoft.Win32.Registry,4.0.0,4.3.0
NETStandard.Library,1.6.0,1.6.1
Newtonsoft.Json,9.0.1,9.0.1
Remotion.Linq,2.1.1,2.1.1
runtime.native.System,4.0.0,4.3.0
runtime.native.System.Data.SqlClient.sni,4.0.0,4.3.0
runtime.native.System.IO.Compression,4.1.0,4.3.0
runtime.native.System.Net.Http,4.0.1,4.3.0
runtime.native.System.Net.Security,4.0.1,4.3.0
runtime.native.System.Security.Cryptography,4.0.0,
runtime.win7-x64.runtime.native.System.Data.SqlClient.sni,4.0.1,4.3.0
runtime.win7-x86.runtime.native.System.Data.SqlClient.sni,4.0.1,4.3.0
SQLite,3.13.0,3.13.0
System.AppContext,4.1.0,4.3.0
System.Buffers,4.0.0,4.3.0
System.Collections,4.0.11,4.3.0
System.Collections.Concurrent,4.0.12,4.3.0
System.Collections.Immutable,1.2.0,1.3.0
System.Collections.NonGeneric,4.0.1,4.3.0
System.Collections.Specialized,4.0.1,4.3.0
System.ComponentModel,4.0.1,4.3.0
System.ComponentModel.Annotations,4.1.0,4.3.0
System.ComponentModel.EventBasedAsync,4.0.11,4.3.0
System.ComponentModel.Primitives,4.1.0,4.3.0
System.ComponentModel.TypeConverter,4.1.0,4.3.0
System.Console,4.0.0,4.3.0
System.Data.Common,4.1.0,4.3.0
System.Data.SqlClient,4.1.0,4.3.0
System.Diagnostics.Contracts,4.0.1,4.3.0
System.Diagnostics.Debug,4.0.11,4.3.0
System.Diagnostics.DiagnosticSource,4.0.0,4.3.0
System.Diagnostics.FileVersionInfo,4.0.0,4.0.0
System.Diagnostics.Process,4.1.0,4.3.0
System.Diagnostics.StackTrace,4.0.1,4.3.0
System.Diagnostics.Tools,4.0.1,4.3.0
System.Diagnostics.TraceSource,4.0.0,4.3.0
System.Diagnostics.Tracing,4.1.0,4.3.0
System.Dynamic.Runtime,4.0.11,4.3.0
System.Globalization,4.0.11,4.3.0
System.Globalization.Calendars,4.0.1,4.3.0
System.Globalization.Extensions,4.0.1,4.3.0
System.IdentityModel.Tokens.Jwt,5.0.0,5.1.0
System.Interactive.Async,3.0.0,3.0.0
System.IO,4.1.0,4.3.0
System.IO.Compression,4.1.0,4.3.0
System.IO.Compression.ZipFile,4.0.1,4.3.0
System.IO.FileSystem,4.0.1,4.3.0
System.IO.FileSystem.Primitives,4.0.1,4.3.0
System.IO.FileSystem.Watcher,4.0.0,4.3.0
System.IO.MemoryMappedFiles,4.0.0,4.3.0
System.IO.Pipes,4.0.0,4.3.0
System.IO.UnmanagedMemoryStream,4.0.1,4.3.0
System.Linq,4.1.0,4.3.0
System.Linq.Expressions,4.1.0,4.3.0
System.Linq.Parallel,4.0.1,4.3.0
System.Linq.Queryable,4.0.1,4.3.0
System.Net.Http,4.1.1,4.3.0
System.Net.NameResolution,4.0.0,4.3.0
System.Net.Primitives,4.0.11,4.3.0
System.Net.Requests,4.0.11,4.3.0
System.Net.Security,4.0.0,4.3.0
System.Net.Sockets,4.1.0,4.3.0
System.Net.WebHeaderCollection,4.0.1,4.3.0
System.Net.WebSockets,4.0.0,4.3.0
System.Net.WebSockets.Client,4.0.0,4.3.0
System.Numerics.Vectors,4.1.1,4.3.0
System.ObjectModel,4.0.12,4.3.0
System.Private.DataContractSerialization,4.1.1,4.3.0
System.Private.ServiceModel,4.1.0,4.3.0
System.Reflection,4.1.0,4.3.0
System.Reflection.DispatchProxy,4.0.1,4.3.0
System.Reflection.Emit,4.0.1,4.3.0
System.Reflection.Emit.ILGeneration,4.0.1,4.3.0
System.Reflection.Emit.Lightweight,4.0.1,4.3.0
System.Reflection.Extensions,4.0.1,4.3.0
System.Reflection.Metadata,1.3.0,1.4.1
System.Reflection.Primitives,4.0.1,4.3.0
System.Reflection.TypeExtensions,4.1.0,4.3.0
System.Resources.Reader,4.0.0,4.3.0
System.Resources.ResourceManager,4.0.1,4.3.0
System.Runtime,4.1.0,4.3.0
System.Runtime.Extensions,4.1.0,4.3.0
System.Runtime.Handles,4.0.1,4.3.0
System.Runtime.InteropServices,4.1.0,4.3.0
System.Runtime.InteropServices.RuntimeInformation,4.0.0,4.3.0
System.Runtime.Loader,4.0.0,4.3.0
System.Runtime.Numerics,4.0.1,4.3.0
System.Runtime.Serialization.Primitives,4.1.1,4.3.0
System.Runtime.Serialization.Xml,4.1.1,4.3.0
System.Security.Claims,4.0.1,4.3.0
System.Security.Cryptography.Algorithms,4.2.0,4.3.0
System.Security.Cryptography.Cng,4.2.0,4.3.0
System.Security.Cryptography.Csp,4.0.0,4.3.0
System.Security.Cryptography.Encoding,4.0.0,4.3.0
System.Security.Cryptography.OpenSsl,4.0.0,4.3.0
System.Security.Cryptography.Primitives,4.0.0,4.3.0
System.Security.Cryptography.X509Certificates,4.1.0,4.3.0
System.Security.Principal,4.0.1,4.3.0
System.Security.Principal.Windows,4.0.0,4.3.0
System.ServiceModel.Primitives,4.1.0,4.3.0
System.Text.Encoding,4.0.11,4.3.0
System.Text.Encoding.CodePages,4.0.1,4.3.0
System.Text.Encoding.Extensions,4.0.11,4.3.0
System.Text.Encodings.Web,4.0.0,4.3.0
System.Text.RegularExpressions,4.1.0,4.3.0
System.Threading,4.0.11,4.3.0
System.Threading.Overlapped,4.0.1,4.3.0
System.Threading.Tasks,4.0.11,4.3.0
System.Threading.Tasks.Dataflow,4.6.0,4.7.0
System.Threading.Tasks.Extensions,4.0.0,4.3.0
System.Threading.Tasks.Parallel,4.0.1,4.3.0
System.Threading.Thread,4.0.0,4.3.0
System.Threading.ThreadPool,4.0.10,4.3.0
System.Threading.Timer,4.0.1,4.3.0
System.Xml.ReaderWriter,4.0.11,4.3.0
System.Xml.XDocument,4.0.11,4.3.0
System.Xml.XmlDocument,4.0.1,4.3.0
System.Xml.XmlSerializer,4.0.11,4.3.0
System.Xml.XPath,4.0.1,4.0.1
System.Xml.XPath.XDocument,4.0.1,4.0.1
Microsoft.AspNetCore.ResponseCaching.Abstractions,,1.1.0
Microsoft.Azure.KeyVault,,2.0.2-preview
Microsoft.Azure.KeyVault.WebKey,,2.0.0-preview
Microsoft.Data.Edm,,5.6.4
Microsoft.Data.OData,,5.6.4
Microsoft.Data.Services.Client,,5.6.4
Microsoft.DiaSymReader.Native,,1.4.0
Microsoft.DotNet.PlatformAbstractions,,1.1.0
Microsoft.IdentityModel.Clients.ActiveDirectory,,3.13.5
Microsoft.Rest.ClientRuntime,,2.3.2
Microsoft.Rest.ClientRuntime.Azure,,3.3.1
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.native.System.Security.Cryptography.Apple,,4.3.0
runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple,,4.3.0
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl,,4.3.0
Serilog,,2.3.0
Serilog.Extensions.Logging,,1.0.0
Serilog.Sinks.File,,3.1.0
Serilog.Sinks.PeriodicBatching,,2.0.0
Serilog.Sinks.RollingFile,,3.1.0
StackExchange.Redis.StrongName,,1.1.605
System.Runtime.CompilerServices.Unsafe,,4.3.0
System.Runtime.Serialization.Json,,4.0.2
System.Spatial,,5.6.4
WindowsAzure.Storage,,7.2.1
1 Id LtsVersion CurrentVersion
2 Microsoft.NETCore.App 1.0.3 1.1.0
3 Microsoft.AspNetCore 1.0.3 1.1.0
4 Microsoft.AspNetCore.Authentication 1.0.1 1.1.0
5 Microsoft.AspNetCore.Authentication.Cookies 1.0.1 1.1.0
6 Microsoft.AspNetCore.Authentication.Facebook 1.0.1 1.1.0
7 Microsoft.AspNetCore.Authentication.Google 1.0.1 1.1.0
8 Microsoft.AspNetCore.Authentication.JwtBearer 1.0.1 1.1.0
9 Microsoft.AspNetCore.Authentication.MicrosoftAccount 1.0.1 1.1.0
10 Microsoft.AspNetCore.Authentication.OAuth 1.0.1 1.1.0
11 Microsoft.AspNetCore.Authentication.OpenIdConnect 1.0.1 1.1.0
12 Microsoft.AspNetCore.Authentication.Twitter 1.0.1 1.1.0
13 Microsoft.AspNetCore.CookiePolicy 1.0.1 1.1.0
14 Microsoft.AspNetCore.Cors 1.0.1 1.1.0
15 Microsoft.AspNetCore.DataProtection 1.0.1 1.1.0
16 Microsoft.AspNetCore.DataProtection.Extensions 1.0.1 1.1.0
17 Microsoft.AspNetCore.DataProtection.SystemWeb 1.0.1 1.1.0
18 Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 1.0.1 1.1.0
19 Microsoft.AspNetCore.Hosting.WindowsServices 1.0.1 1.1.0
20 Microsoft.AspNetCore.Html.Abstractions 1.0.1 1.1.0
21 Microsoft.AspNetCore.Identity.EntityFrameworkCore 1.0.1 1.1.0
22 Microsoft.AspNetCore.MiddlewareAnalysis 1.0.1 1.1.0
23 Microsoft.AspNetCore.Mvc 1.0.2 1.1.0
24 Microsoft.AspNetCore.Mvc.Abstractions 1.0.2 1.1.0
25 Microsoft.AspNetCore.Mvc.ApiExplorer 1.0.2 1.1.0
26 Microsoft.AspNetCore.Mvc.Formatters.Xml 1.0.2 1.1.0
27 Microsoft.AspNetCore.Mvc.WebApiCompatShim 1.0.2 1.1.0
28 Microsoft.AspNetCore.Owin 1.0.1 1.1.0
29 Microsoft.AspNetCore.Routing 1.0.2 1.1.0
30 Microsoft.AspNetCore.Routing.Abstractions 1.0.2 1.1.0
31 Microsoft.AspNetCore.Server.Kestrel.Https 1.0.2 1.1.0
32 Microsoft.AspNetCore.Session 1.0.1 1.1.0
33 Microsoft.AspNetCore.StaticFiles 1.0.1 1.1.0
34 Microsoft.AspNetCore.TestHost 1.0.1 1.1.0
35 Microsoft.Data.Sqlite 1.0.1 1.1.0
36 Microsoft.EntityFrameworkCore 1.0.2 1.1.0
37 Microsoft.EntityFrameworkCore.Design 1.0.2 1.1.0
38 Microsoft.EntityFrameworkCore.InMemory 1.0.2 1.1.0
39 Microsoft.EntityFrameworkCore.Relational 1.0.2 1.1.0
40 Microsoft.EntityFrameworkCore.Relational.Design 1.0.2 1.1.0
41 Microsoft.EntityFrameworkCore.Sqlite 1.0.2 1.1.0
42 Microsoft.EntityFrameworkCore.Sqlite.Design 1.0.2 1.1.0
43 Microsoft.EntityFrameworkCore.SqlServer 1.0.2 1.1.0
44 Microsoft.EntityFrameworkCore.SqlServer.Design 1.0.2 1.1.0
45 Microsoft.Extensions.Caching.Memory 1.0.1 1.1.0
46 Microsoft.Extensions.Caching.Redis 1.0.1 1.1.0
47 Microsoft.Extensions.Caching.SqlServer 1.0.1 1.1.0
48 Microsoft.Extensions.CommandLineUtils 1.0.1 1.1.0
49 Microsoft.Extensions.Configuration 1.0.1 1.1.0
50 Microsoft.Extensions.Configuration.Binder 1.0.1 1.1.0
51 Microsoft.Extensions.Configuration.CommandLine 1.0.1 1.1.0
52 Microsoft.Extensions.Configuration.EnvironmentVariables 1.0.1 1.1.0
53 Microsoft.Extensions.Configuration.FileExtensions 1.0.1 1.1.0
54 Microsoft.Extensions.Configuration.Ini 1.0.1 1.1.0
55 Microsoft.Extensions.Configuration.Json 1.0.1 1.1.0
56 Microsoft.Extensions.Configuration.UserSecrets 1.0.1 1.1.0
57 Microsoft.Extensions.Configuration.Xml 1.0.1 1.1.0
58 Microsoft.Extensions.DependencyInjection 1.0.1 1.1.0
59 Microsoft.Extensions.DiagnosticAdapter 1.0.1 1.1.0
60 Microsoft.Extensions.FileProviders.Composite 1.0.1 1.1.0
61 Microsoft.Extensions.FileProviders.Embedded 1.0.1 1.1.0
62 Microsoft.Extensions.FileProviders.Physical 1.0.1 1.1.0
63 Microsoft.Extensions.FileSystemGlobbing 1.0.1 1.1.0
64 Microsoft.Extensions.Globalization.CultureInfoCache 1.0.1 1.1.0
65 Microsoft.Extensions.Localization 1.0.1 1.1.0
66 Microsoft.Extensions.Logging 1.0.1 1.1.0
67 Microsoft.Extensions.Logging.Console 1.0.1 1.1.0
68 Microsoft.Extensions.Logging.Debug 1.0.1 1.1.0
69 Microsoft.Extensions.Logging.Filter 1.0.1 1.1.0
70 Microsoft.Extensions.Logging.TraceSource 1.0.1 1.1.0
71 Microsoft.VisualStudio.Web.BrowserLink 1.0.0 1.0.0
72 Microsoft.VisualStudio.Web.BrowserLink.Loader 14.0.1 14.1.0
73 Microsoft.AspNetCore.AzureAppServicesIntegration 1.0.0
74 Microsoft.AspNetCore.DataProtection.AzureStorage 1.0.0
75 Microsoft.AspNetCore.Localization.Routing 1.1.0
76 Microsoft.AspNetCore.Rewrite 1.0.0
77 Microsoft.AspNetCore.ResponseCaching 1.1.0
78 Microsoft.AspNetCore.ResponseCompression 1.0.0
79 Microsoft.AspNetCore.WebSockets 1.0.0
80 Microsoft.Extensions.Logging.AzureAppServices 1.0.0
81 Microsoft.Extensions.Configuration.AzureKeyVault 1.0.0
82 Microsoft.Extensions.Logging.EventSource 1.1.0
83 System.ServiceModel.Duplex 4.0.1 4.3.0
84 System.ServiceModel.Http 4.1.0 4.3.0
85 System.ServiceModel.NetTcp 4.1.0 4.3.0
86 System.ServiceModel.Security 4.0.1 4.3.0
87 Libuv 1.9.1 1.9.1
88 Microsoft.AspNet.WebApi.Client 5.2.2 5.2.2
89 Microsoft.AspNetCore.Antiforgery 1.0.2 1.1.0
90 Microsoft.AspNetCore.Authorization 1.0.1 1.1.0
91 Microsoft.AspNetCore.Cryptography.Internal 1.0.1 1.1.0
92 Microsoft.AspNetCore.Cryptography.KeyDerivation 1.0.1 1.1.0
93 Microsoft.AspNetCore.DataProtection.Abstractions 1.0.1 1.1.0
94 Microsoft.AspNetCore.Diagnostics 1.0.1 1.1.0
95 Microsoft.AspNetCore.Diagnostics.Abstractions 1.0.1 1.1.0
96 Microsoft.AspNetCore.Hosting 1.0.1 1.1.0
97 Microsoft.AspNetCore.Hosting.Abstractions 1.0.1 1.1.0
98 Microsoft.AspNetCore.Hosting.Server.Abstractions 1.0.1 1.1.0
99 Microsoft.AspNetCore.Http 1.0.1 1.1.0
100 Microsoft.AspNetCore.Http.Abstractions 1.0.1 1.1.0
101 Microsoft.AspNetCore.Http.Extensions 1.0.1 1.1.0
102 Microsoft.AspNetCore.Http.Features 1.0.1 1.1.0
103 Microsoft.AspNetCore.HttpOverrides 1.0.1 1.1.0
104 Microsoft.AspNetCore.Identity 1.0.1 1.1.0
105 Microsoft.AspNetCore.JsonPatch 1.0.0 1.1.0
106 Microsoft.AspNetCore.Localization 1.0.1 1.1.0
107 Microsoft.AspNetCore.Mvc.Core 1.0.2 1.1.0
108 Microsoft.AspNetCore.Mvc.Cors 1.0.2 1.1.0
109 Microsoft.AspNetCore.Mvc.DataAnnotations 1.0.2 1.1.0
110 Microsoft.AspNetCore.Mvc.Formatters.Json 1.0.2 1.1.0
111 Microsoft.AspNetCore.Mvc.Localization 1.0.2 1.1.0
112 Microsoft.AspNetCore.Mvc.Razor 1.0.2 1.1.0
113 Microsoft.AspNetCore.Mvc.Razor.Host 1.0.2 1.1.0
114 Microsoft.AspNetCore.Mvc.TagHelpers 1.0.2 1.1.0
115 Microsoft.AspNetCore.Mvc.ViewFeatures 1.0.2 1.1.0
116 Microsoft.AspNetCore.Razor 1.0.1 1.1.0
117 Microsoft.AspNetCore.Razor.Runtime 1.0.1 1.1.0
118 Microsoft.AspNetCore.Server.IISIntegration 1.0.1 1.1.0
119 Microsoft.AspNetCore.Server.Kestrel 1.0.2 1.1.0
120 Microsoft.AspNetCore.WebUtilities 1.0.1 1.1.0
121 Microsoft.Bcl 1.1.9 1.1.9
122 Microsoft.Bcl.Build 1.0.14 1.0.14
123 Microsoft.CodeAnalysis.Analyzers 1.1.0 1.1.0
124 Microsoft.CodeAnalysis.Common 1.3.0 1.3.0
125 Microsoft.CodeAnalysis.CSharp 1.3.0 1.3.0
126 Microsoft.CodeAnalysis.VisualBasic 1.3.0 1.3.0
127 Microsoft.CSharp 4.0.1 4.3.0
128 Microsoft.DotNet.InternalAbstractions 1.0.0
129 Microsoft.Extensions.Caching.Abstractions 1.0.1 1.1.0
130 Microsoft.Extensions.Configuration.Abstractions 1.0.1 1.1.0
131 Microsoft.Extensions.DependencyInjection.Abstractions 1.0.1 1.1.0
132 Microsoft.Extensions.DependencyModel 1.0.0 1.1.0
133 Microsoft.Extensions.FileProviders.Abstractions 1.0.1 1.1.0
134 Microsoft.Extensions.Localization.Abstractions 1.0.1 1.1.0
135 Microsoft.Extensions.Logging.Abstractions 1.0.1 1.1.0
136 Microsoft.Extensions.ObjectPool 1.0.1 1.1.0
137 Microsoft.Extensions.Options 1.0.1 1.1.0
138 Microsoft.Extensions.Options.ConfigurationExtensions 1.0.1 1.1.0
139 Microsoft.Extensions.PlatformAbstractions 1.0.0 1.1.0
140 Microsoft.Extensions.Primitives 1.0.1 1.1.0
141 Microsoft.Extensions.WebEncoders 1.0.1 1.1.0
142 Microsoft.IdentityModel.Logging 1.0.0 1.1.0
143 Microsoft.IdentityModel.Protocols 2.0.0 2.1.0
144 Microsoft.IdentityModel.Protocols.OpenIdConnect 2.0.0 2.1.0
145 Microsoft.IdentityModel.Tokens 5.0.0 5.1.0
146 Microsoft.Net.Http 2.2.22 2.2.22
147 Microsoft.Net.Http.Headers 1.0.1 1.1.0
148 Microsoft.NETCore.DotNetHost 1.0.1 1.1.0
149 Microsoft.NETCore.DotNetHostPolicy 1.0.3 1.1.0
150 Microsoft.NETCore.DotNetHostResolver 1.0.1 1.1.0
151 Microsoft.NETCore.Jit 1.0.5 1.1.0
152 Microsoft.NETCore.Platforms 1.0.2 1.1.0
153 Microsoft.NETCore.Runtime.CoreCLR 1.0.5 1.1.0
154 Microsoft.NETCore.Targets 1.0.1 1.1.0
155 Microsoft.NETCore.Windows.ApiSets 1.0.1 1.0.1
156 Microsoft.VisualBasic 10.0.1 10.1.0
157 Microsoft.Win32.Primitives 4.0.1 4.3.0
158 Microsoft.Win32.Registry 4.0.0 4.3.0
159 NETStandard.Library 1.6.0 1.6.1
160 Newtonsoft.Json 9.0.1 9.0.1
161 Remotion.Linq 2.1.1 2.1.1
162 runtime.native.System 4.0.0 4.3.0
163 runtime.native.System.Data.SqlClient.sni 4.0.0 4.3.0
164 runtime.native.System.IO.Compression 4.1.0 4.3.0
165 runtime.native.System.Net.Http 4.0.1 4.3.0
166 runtime.native.System.Net.Security 4.0.1 4.3.0
167 runtime.native.System.Security.Cryptography 4.0.0
168 runtime.win7-x64.runtime.native.System.Data.SqlClient.sni 4.0.1 4.3.0
169 runtime.win7-x86.runtime.native.System.Data.SqlClient.sni 4.0.1 4.3.0
170 SQLite 3.13.0 3.13.0
171 System.AppContext 4.1.0 4.3.0
172 System.Buffers 4.0.0 4.3.0
173 System.Collections 4.0.11 4.3.0
174 System.Collections.Concurrent 4.0.12 4.3.0
175 System.Collections.Immutable 1.2.0 1.3.0
176 System.Collections.NonGeneric 4.0.1 4.3.0
177 System.Collections.Specialized 4.0.1 4.3.0
178 System.ComponentModel 4.0.1 4.3.0
179 System.ComponentModel.Annotations 4.1.0 4.3.0
180 System.ComponentModel.EventBasedAsync 4.0.11 4.3.0
181 System.ComponentModel.Primitives 4.1.0 4.3.0
182 System.ComponentModel.TypeConverter 4.1.0 4.3.0
183 System.Console 4.0.0 4.3.0
184 System.Data.Common 4.1.0 4.3.0
185 System.Data.SqlClient 4.1.0 4.3.0
186 System.Diagnostics.Contracts 4.0.1 4.3.0
187 System.Diagnostics.Debug 4.0.11 4.3.0
188 System.Diagnostics.DiagnosticSource 4.0.0 4.3.0
189 System.Diagnostics.FileVersionInfo 4.0.0 4.0.0
190 System.Diagnostics.Process 4.1.0 4.3.0
191 System.Diagnostics.StackTrace 4.0.1 4.3.0
192 System.Diagnostics.Tools 4.0.1 4.3.0
193 System.Diagnostics.TraceSource 4.0.0 4.3.0
194 System.Diagnostics.Tracing 4.1.0 4.3.0
195 System.Dynamic.Runtime 4.0.11 4.3.0
196 System.Globalization 4.0.11 4.3.0
197 System.Globalization.Calendars 4.0.1 4.3.0
198 System.Globalization.Extensions 4.0.1 4.3.0
199 System.IdentityModel.Tokens.Jwt 5.0.0 5.1.0
200 System.Interactive.Async 3.0.0 3.0.0
201 System.IO 4.1.0 4.3.0
202 System.IO.Compression 4.1.0 4.3.0
203 System.IO.Compression.ZipFile 4.0.1 4.3.0
204 System.IO.FileSystem 4.0.1 4.3.0
205 System.IO.FileSystem.Primitives 4.0.1 4.3.0
206 System.IO.FileSystem.Watcher 4.0.0 4.3.0
207 System.IO.MemoryMappedFiles 4.0.0 4.3.0
208 System.IO.Pipes 4.0.0 4.3.0
209 System.IO.UnmanagedMemoryStream 4.0.1 4.3.0
210 System.Linq 4.1.0 4.3.0
211 System.Linq.Expressions 4.1.0 4.3.0
212 System.Linq.Parallel 4.0.1 4.3.0
213 System.Linq.Queryable 4.0.1 4.3.0
214 System.Net.Http 4.1.1 4.3.0
215 System.Net.NameResolution 4.0.0 4.3.0
216 System.Net.Primitives 4.0.11 4.3.0
217 System.Net.Requests 4.0.11 4.3.0
218 System.Net.Security 4.0.0 4.3.0
219 System.Net.Sockets 4.1.0 4.3.0
220 System.Net.WebHeaderCollection 4.0.1 4.3.0
221 System.Net.WebSockets 4.0.0 4.3.0
222 System.Net.WebSockets.Client 4.0.0 4.3.0
223 System.Numerics.Vectors 4.1.1 4.3.0
224 System.ObjectModel 4.0.12 4.3.0
225 System.Private.DataContractSerialization 4.1.1 4.3.0
226 System.Private.ServiceModel 4.1.0 4.3.0
227 System.Reflection 4.1.0 4.3.0
228 System.Reflection.DispatchProxy 4.0.1 4.3.0
229 System.Reflection.Emit 4.0.1 4.3.0
230 System.Reflection.Emit.ILGeneration 4.0.1 4.3.0
231 System.Reflection.Emit.Lightweight 4.0.1 4.3.0
232 System.Reflection.Extensions 4.0.1 4.3.0
233 System.Reflection.Metadata 1.3.0 1.4.1
234 System.Reflection.Primitives 4.0.1 4.3.0
235 System.Reflection.TypeExtensions 4.1.0 4.3.0
236 System.Resources.Reader 4.0.0 4.3.0
237 System.Resources.ResourceManager 4.0.1 4.3.0
238 System.Runtime 4.1.0 4.3.0
239 System.Runtime.Extensions 4.1.0 4.3.0
240 System.Runtime.Handles 4.0.1 4.3.0
241 System.Runtime.InteropServices 4.1.0 4.3.0
242 System.Runtime.InteropServices.RuntimeInformation 4.0.0 4.3.0
243 System.Runtime.Loader 4.0.0 4.3.0
244 System.Runtime.Numerics 4.0.1 4.3.0
245 System.Runtime.Serialization.Primitives 4.1.1 4.3.0
246 System.Runtime.Serialization.Xml 4.1.1 4.3.0
247 System.Security.Claims 4.0.1 4.3.0
248 System.Security.Cryptography.Algorithms 4.2.0 4.3.0
249 System.Security.Cryptography.Cng 4.2.0 4.3.0
250 System.Security.Cryptography.Csp 4.0.0 4.3.0
251 System.Security.Cryptography.Encoding 4.0.0 4.3.0
252 System.Security.Cryptography.OpenSsl 4.0.0 4.3.0
253 System.Security.Cryptography.Primitives 4.0.0 4.3.0
254 System.Security.Cryptography.X509Certificates 4.1.0 4.3.0
255 System.Security.Principal 4.0.1 4.3.0
256 System.Security.Principal.Windows 4.0.0 4.3.0
257 System.ServiceModel.Primitives 4.1.0 4.3.0
258 System.Text.Encoding 4.0.11 4.3.0
259 System.Text.Encoding.CodePages 4.0.1 4.3.0
260 System.Text.Encoding.Extensions 4.0.11 4.3.0
261 System.Text.Encodings.Web 4.0.0 4.3.0
262 System.Text.RegularExpressions 4.1.0 4.3.0
263 System.Threading 4.0.11 4.3.0
264 System.Threading.Overlapped 4.0.1 4.3.0
265 System.Threading.Tasks 4.0.11 4.3.0
266 System.Threading.Tasks.Dataflow 4.6.0 4.7.0
267 System.Threading.Tasks.Extensions 4.0.0 4.3.0
268 System.Threading.Tasks.Parallel 4.0.1 4.3.0
269 System.Threading.Thread 4.0.0 4.3.0
270 System.Threading.ThreadPool 4.0.10 4.3.0
271 System.Threading.Timer 4.0.1 4.3.0
272 System.Xml.ReaderWriter 4.0.11 4.3.0
273 System.Xml.XDocument 4.0.11 4.3.0
274 System.Xml.XmlDocument 4.0.1 4.3.0
275 System.Xml.XmlSerializer 4.0.11 4.3.0
276 System.Xml.XPath 4.0.1 4.0.1
277 System.Xml.XPath.XDocument 4.0.1 4.0.1
278 Microsoft.AspNetCore.ResponseCaching.Abstractions 1.1.0
279 Microsoft.Azure.KeyVault 2.0.2-preview
280 Microsoft.Azure.KeyVault.WebKey 2.0.0-preview
281 Microsoft.Data.Edm 5.6.4
282 Microsoft.Data.OData 5.6.4
283 Microsoft.Data.Services.Client 5.6.4
284 Microsoft.DiaSymReader.Native 1.4.0
285 Microsoft.DotNet.PlatformAbstractions 1.1.0
286 Microsoft.IdentityModel.Clients.ActiveDirectory 3.13.5
287 Microsoft.Rest.ClientRuntime 2.3.2
288 Microsoft.Rest.ClientRuntime.Azure 3.3.1
289 runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
290 runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
291 runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
292 runtime.native.System.Security.Cryptography.Apple 4.3.0
293 runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
294 runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
295 runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
296 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple 4.3.0
297 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
298 runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
299 runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
300 runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
301 runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0
302 Serilog 2.3.0
303 Serilog.Extensions.Logging 1.0.0
304 Serilog.Sinks.File 3.1.0
305 Serilog.Sinks.PeriodicBatching 2.0.0
306 Serilog.Sinks.RollingFile 3.1.0
307 StackExchange.Redis.StrongName 1.1.605
308 System.Runtime.CompilerServices.Unsafe 4.3.0
309 System.Runtime.Serialization.Json 4.0.2
310 System.Spatial 5.6.4
311 WindowsAzure.Storage 7.2.1

View file

@ -11,7 +11,7 @@ namespace Microsoft.DotNet.Tools.Migrate
return projectRootElement return projectRootElement
.Items .Items
.Where(i => i.ItemType == "PackageReference") .Where(i => i.ItemType == "PackageReference")
.First(i => i.Include == PackageConstants.SdkPackageName) .First(i => i.Include == SupportedPackageVersions.SdkPackageName)
.GetMetadataWithName("version").Value; .GetMetadataWithName("version").Value;
} }
} }

View file

@ -0,0 +1,228 @@
// 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.Tools.Test.Utilities;
using System.Linq;
using Xunit;
using FluentAssertions;
using System;
namespace Microsoft.DotNet.ProjectJsonMigration.Tests
{
public class GivenThatIWantToMigratePackagesToTheirLTSVersions : PackageDependenciesTestBase
{
[Theory]
[InlineData("Microsoft.NETCore.App", "1.0.0", "Microsoft.NETCore.App", "1.0.3")]
[InlineData("Microsoft.NETCore.App", "1.0.3-preview2", "Microsoft.NETCore.App", "1.0.3")]
[InlineData("NETStandard.Library", "1.4.0", "NETStandard.Library", "1.6.0")]
public void ItUpliftsMetaPackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
[Theory]
[InlineData("Microsoft.AspNetCore.Antiforgery", "1.0.0", "Microsoft.AspNetCore.Antiforgery", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc", "1.0.0", "Microsoft.AspNetCore.Mvc", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Abstractions", "1.0.0", "Microsoft.AspNetCore.Mvc.Abstractions", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.ApiExplorer", "1.0.0", "Microsoft.AspNetCore.Mvc.ApiExplorer", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Core", "1.0.0", "Microsoft.AspNetCore.Mvc.Core", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Cors", "1.0.0", "Microsoft.AspNetCore.Mvc.Cors", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.DataAnnotations", "1.0.0", "Microsoft.AspNetCore.Mvc.DataAnnotations", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Formatters.Json", "1.0.0", "Microsoft.AspNetCore.Mvc.Formatters.Json", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Formatters.Xml", "1.0.0", "Microsoft.AspNetCore.Mvc.Formatters.Xml", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Localization", "1.0.0", "Microsoft.AspNetCore.Mvc.Localization", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Razor", "1.0.0", "Microsoft.AspNetCore.Mvc.Razor", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.Razor.Host", "1.0.0", "Microsoft.AspNetCore.Mvc.Razor.Host", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.TagHelpers", "1.0.0", "Microsoft.AspNetCore.Mvc.TagHelpers", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.ViewFeatures", "1.0.0", "Microsoft.AspNetCore.Mvc.ViewFeatures", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Mvc.WebApiCompatShim", "1.0.0", "Microsoft.AspNetCore.Mvc.WebApiCompatShim", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Routing", "1.0.0", "Microsoft.AspNetCore.Routing", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Routing.Abstractions", "1.0.0", "Microsoft.AspNetCore.Routing.Abstractions", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Server.Kestrel", "1.0.0", "Microsoft.AspNetCore.Server.Kestrel", ConstantPackageVersions.AspNetLTSPackagesVersion)]
[InlineData("Microsoft.AspNetCore.Server.Kestrel.Https", "1.0.0", "Microsoft.AspNetCore.Server.Kestrel.Https", ConstantPackageVersions.AspNetLTSPackagesVersion)]
public void ItUpliftsAspNetCorePackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
[Theory]
[InlineData("Microsoft.EntityFrameworkCore", "1.0.0", "Microsoft.EntityFrameworkCore", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.InMemory", "1.0.0", "Microsoft.EntityFrameworkCore.InMemory", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.Relational", "1.0.0", "Microsoft.EntityFrameworkCore.Relational", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.Relational.Design", "1.0.0", "Microsoft.EntityFrameworkCore.Relational.Design", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.Sqlite", "1.0.0", "Microsoft.EntityFrameworkCore.Sqlite", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.Sqlite.Design", "1.0.0", "Microsoft.EntityFrameworkCore.Sqlite.Design", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.SqlServer", "1.0.0", "Microsoft.EntityFrameworkCore.SqlServer", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
[InlineData("Microsoft.EntityFrameworkCore.SqlServer.Design", "1.0.0", "Microsoft.EntityFrameworkCore.SqlServer.Design", ConstantPackageVersions.EntityFrameworkLTSPackagesVersion)]
public void ItUpliftsEntityFrameworkCorePackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
[Theory]
[InlineData("Microsoft.NETCore.Jit", "1.0.0", "Microsoft.NETCore.Jit", "1.0.5")]
[InlineData("Microsoft.NETCore.Runtime.CoreCLR", "1.0.0", "Microsoft.NETCore.Runtime.CoreCLR", "1.0.5")]
[InlineData("Microsoft.NETCore.DotNetHost", "1.0.0", "Microsoft.NETCore.DotNetHost", "1.0.1")]
[InlineData("Microsoft.NETCore.DotNetHostPolicy", "1.0.0", "Microsoft.NETCore.DotNetHostPolicy", "1.0.3")]
[InlineData("Microsoft.NETCore.DotNetHostResolver", "1.0.0", "Microsoft.NETCore.DotNetHostResolver", "1.0.1")]
[InlineData("Microsoft.NETCore.Platforms", "1.0.0", "Microsoft.NETCore.Platforms", "1.0.2")]
[InlineData("Microsoft.NETCore.Targets", "1.0.0", "Microsoft.NETCore.Targets", "1.0.1")]
[InlineData("Microsoft.NETCore.Windows.ApiSets", "1.0.0", "Microsoft.NETCore.Windows.ApiSets", "1.0.1")]
public void ItUpliftsCoreCLRPackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
[Theory]
[InlineData("System.Net.Http", "1.0.0", "System.Net.Http", "4.1.1")]
[InlineData("System.AppContext", "1.0.0", "System.AppContext", "4.1.0")]
[InlineData("System.Buffers", "1.0.0", "System.Buffers", "4.0.0")]
[InlineData("System.Collections", "1.0.0", "System.Collections", "4.0.11")]
[InlineData("System.Collections.Concurrent", "1.0.0", "System.Collections.Concurrent", "4.0.12")]
[InlineData("System.Collections.Immutable", "1.0.0", "System.Collections.Immutable", "1.2.0")]
[InlineData("System.ComponentModel", "1.0.0", "System.ComponentModel", "4.0.1")]
[InlineData("System.Console", "1.0.0", "System.Console", "4.0.0")]
[InlineData("System.Diagnostics.Debug", "1.0.0", "System.Diagnostics.Debug", "4.0.11")]
[InlineData("System.Diagnostics.DiagnosticSource", "1.0.0", "System.Diagnostics.DiagnosticSource", "4.0.0")]
[InlineData("System.Diagnostics.FileVersionInfo", "1.0.0", "System.Diagnostics.FileVersionInfo", "4.0.0")]
[InlineData("System.Diagnostics.Process", "1.0.0", "System.Diagnostics.Process", "4.1.0")]
[InlineData("System.Diagnostics.StackTrace", "1.0.0", "System.Diagnostics.StackTrace", "4.0.1")]
[InlineData("System.Diagnostics.Tools", "1.0.0", "System.Diagnostics.Tools", "4.0.1")]
[InlineData("System.Diagnostics.Tracing", "1.0.0", "System.Diagnostics.Tracing", "4.1.0")]
[InlineData("System.Dynamic.Runtime", "1.0.0", "System.Dynamic.Runtime", "4.0.11")]
[InlineData("System.Globalization", "1.0.0", "System.Globalization", "4.0.11")]
[InlineData("System.Globalization.Calendars", "1.0.0", "System.Globalization.Calendars", "4.0.1")]
[InlineData("System.Globalization.Extensions", "1.0.0", "System.Globalization.Extensions", "4.0.1")]
[InlineData("System.IO", "1.0.0", "System.IO", "4.1.0")]
[InlineData("System.IO.Compression", "1.0.0", "System.IO.Compression", "4.1.0")]
[InlineData("System.IO.Compression.ZipFile", "1.0.0", "System.IO.Compression.ZipFile", "4.0.1")]
[InlineData("System.IO.MemoryMappedFiles", "1.0.0", "System.IO.MemoryMappedFiles", "4.0.0")]
[InlineData("System.IO.UnmanagedMemoryStream", "1.0.0", "System.IO.UnmanagedMemoryStream", "4.0.1")]
[InlineData("System.Linq", "1.0.0", "System.Linq", "4.1.0")]
[InlineData("System.Linq.Expressions", "1.0.0", "System.Linq.Expressions", "4.1.0")]
[InlineData("System.Linq.Parallel", "1.0.0", "System.Linq.Parallel", "4.0.1")]
[InlineData("System.Linq.Queryable", "1.0.0", "System.Linq.Queryable", "4.0.1")]
[InlineData("System.Net.NameResolution", "1.0.0", "System.Net.NameResolution", "4.0.0")]
[InlineData("System.Net.Primitives", "1.0.0", "System.Net.Primitives", "4.0.11")]
[InlineData("System.Net.Requests", "1.0.0", "System.Net.Requests", "4.0.11")]
[InlineData("System.Net.Security", "1.0.0", "System.Net.Security", "4.0.0")]
[InlineData("System.Net.Sockets", "1.0.0", "System.Net.Sockets", "4.1.0")]
[InlineData("System.Net.WebHeaderCollection", "1.0.0", "System.Net.WebHeaderCollection", "4.0.1")]
[InlineData("System.Numerics.Vectors", "1.0.0", "System.Numerics.Vectors", "4.1.1")]
[InlineData("System.ObjectModel", "1.0.0", "System.ObjectModel", "4.0.12")]
[InlineData("System.Reflection", "1.0.0", "System.Reflection", "4.1.0")]
[InlineData("System.Reflection.DispatchProxy", "1.0.0", "System.Reflection.DispatchProxy", "4.0.1")]
[InlineData("System.Reflection.Emit", "1.0.0", "System.Reflection.Emit", "4.0.1")]
[InlineData("System.Reflection.Emit.ILGeneration", "1.0.0", "System.Reflection.Emit.ILGeneration", "4.0.1")]
[InlineData("System.Reflection.Emit.Lightweight", "1.0.0", "System.Reflection.Emit.Lightweight", "4.0.1")]
[InlineData("System.Reflection.Extensions", "1.0.0", "System.Reflection.Extensions", "4.0.1")]
[InlineData("System.Reflection.Metadata", "1.0.0", "System.Reflection.Metadata", "1.3.0")]
[InlineData("System.Reflection.Primitives", "1.0.0", "System.Reflection.Primitives", "4.0.1")]
[InlineData("System.Reflection.TypeExtensions", "1.0.0", "System.Reflection.TypeExtensions", "4.1.0")]
[InlineData("System.Resources.Reader", "1.0.0", "System.Resources.Reader", "4.0.0")]
[InlineData("System.Resources.ResourceManager", "1.0.0", "System.Resources.ResourceManager", "4.0.1")]
[InlineData("System.Runtime", "1.0.0", "System.Runtime", "4.1.0")]
[InlineData("System.Runtime.Extensions", "1.0.0", "System.Runtime.Extensions", "4.1.0")]
[InlineData("System.Runtime.Handles", "1.0.0", "System.Runtime.Handles", "4.0.1")]
[InlineData("System.Runtime.InteropServices", "1.0.0", "System.Runtime.InteropServices", "4.1.0")]
[InlineData("System.Runtime.InteropServices.RuntimeInformation", "1.0.0", "System.Runtime.InteropServices.RuntimeInformation", "4.0.0")]
[InlineData("System.Runtime.Loader", "1.0.0", "System.Runtime.Loader", "4.0.0")]
[InlineData("System.Runtime.Numerics", "1.0.0", "System.Runtime.Numerics", "4.0.1")]
[InlineData("System.Security.Claims", "1.0.0", "System.Security.Claims", "4.0.1")]
[InlineData("System.Security.Cryptography.Algorithms", "1.0.0", "System.Security.Cryptography.Algorithms", "4.2.0")]
[InlineData("System.Security.Cryptography.Cng", "1.0.0", "System.Security.Cryptography.Cng", "4.2.0")]
[InlineData("System.Security.Cryptography.Csp", "1.0.0", "System.Security.Cryptography.Csp", "4.0.0")]
[InlineData("System.Security.Cryptography.Encoding", "1.0.0", "System.Security.Cryptography.Encoding", "4.0.0")]
[InlineData("System.Security.Cryptography.OpenSsl", "1.0.0", "System.Security.Cryptography.OpenSsl", "4.0.0")]
[InlineData("System.Security.Cryptography.Primitives", "1.0.0", "System.Security.Cryptography.Primitives", "4.0.0")]
[InlineData("System.Security.Cryptography.X509Certificates", "1.0.0", "System.Security.Cryptography.X509Certificates", "4.1.0")]
[InlineData("System.Security.Principal", "1.0.0", "System.Security.Principal", "4.0.1")]
[InlineData("System.Security.Principal.Windows", "1.0.0", "System.Security.Principal.Windows", "4.0.0")]
[InlineData("System.Text.Encoding", "1.0.0", "System.Text.Encoding", "4.0.11")]
[InlineData("System.Text.Encoding.CodePages", "1.0.0", "System.Text.Encoding.CodePages", "4.0.1")]
[InlineData("System.Text.Encoding.Extensions", "1.0.0", "System.Text.Encoding.Extensions", "4.0.11")]
[InlineData("System.Text.RegularExpressions", "1.0.0", "System.Text.RegularExpressions", "4.1.0")]
[InlineData("System.Threading", "1.0.0", "System.Threading", "4.0.11")]
[InlineData("System.Threading.Overlapped", "1.0.0", "System.Threading.Overlapped", "4.0.1")]
[InlineData("System.Threading.Tasks", "1.0.0", "System.Threading.Tasks", "4.0.11")]
[InlineData("System.Threading.Tasks.Dataflow", "1.0.0", "System.Threading.Tasks.Dataflow", "4.6.0")]
[InlineData("System.Threading.Tasks.Extensions", "1.0.0", "System.Threading.Tasks.Extensions", "4.0.0")]
[InlineData("System.Threading.Tasks.Parallel", "1.0.0", "System.Threading.Tasks.Parallel", "4.0.1")]
[InlineData("System.Threading.Thread", "1.0.0", "System.Threading.Thread", "4.0.0")]
[InlineData("System.Threading.ThreadPool", "1.0.0", "System.Threading.ThreadPool", "4.0.10")]
[InlineData("System.Threading.Timer", "1.0.0", "System.Threading.Timer", "4.0.1")]
[InlineData("System.Xml.ReaderWriter", "1.0.0", "System.Xml.ReaderWriter", "4.0.11")]
[InlineData("System.Xml.XDocument", "1.0.0", "System.Xml.XDocument", "4.0.11")]
[InlineData("System.Xml.XmlDocument", "1.0.0", "System.Xml.XmlDocument", "4.0.1")]
[InlineData("System.Xml.XPath", "1.0.0", "System.Xml.XPath", "4.0.1")]
[InlineData("runtime.native.System", "1.0.0", "runtime.native.System", "4.0.0")]
[InlineData("runtime.native.System.IO.Compression", "1.0.0", "runtime.native.System.IO.Compression", "4.1.0")]
[InlineData("runtime.native.System.Net.Http", "1.0.0", "runtime.native.System.Net.Http", "4.0.1")]
[InlineData("runtime.native.System.Net.Security", "1.0.0", "runtime.native.System.Net.Security", "4.0.1")]
[InlineData("runtime.native.System.Security.Cryptography", "1.0.0", "runtime.native.System.Security.Cryptography", "4.0.0")]
[InlineData("Libuv", "1.0.0", "Libuv", "1.9.1")]
[InlineData("Microsoft.CodeAnalysis.Analyzers", "1.0.0", "Microsoft.CodeAnalysis.Analyzers", "1.1.0")]
[InlineData("Microsoft.CodeAnalysis.Common", "1.0.0", "Microsoft.CodeAnalysis.Common", "1.3.0")]
[InlineData("Microsoft.CodeAnalysis.CSharp", "1.0.0", "Microsoft.CodeAnalysis.CSharp", "1.3.0")]
[InlineData("Microsoft.CodeAnalysis.VisualBasic", "1.0.0", "Microsoft.CodeAnalysis.VisualBasic", "1.3.0")]
[InlineData("Microsoft.CSharp", "1.0.0", "Microsoft.CSharp", "4.0.1")]
[InlineData("Microsoft.VisualBasic", "1.0.0", "Microsoft.VisualBasic", "10.0.1")]
[InlineData("Microsoft.Win32.Primitives", "1.0.0", "Microsoft.Win32.Primitives", "4.0.1")]
[InlineData("Microsoft.Win32.Registry", "1.0.0", "Microsoft.Win32.Registry", "4.0.0")]
[InlineData("System.IO.FileSystem", "1.0.0", "System.IO.FileSystem", "4.0.1")]
[InlineData("System.IO.FileSystem.Primitives", "1.0.0", "System.IO.FileSystem.Primitives", "4.0.1")]
[InlineData("System.IO.FileSystem.Watcher", "1.0.0", "System.IO.FileSystem.Watcher", "4.0.0")]
public void ItUpliftsMicrosoftNETCoreAppPackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
[Theory]
[InlineData("Microsoft.Extensions.Logging", "1.0.0", "Microsoft.Extensions.Logging", "1.0.1")]
[InlineData("Microsoft.Extensions.Logging.Console", "1.0.0", "Microsoft.Extensions.Logging.Console", "1.0.1")]
[InlineData("Microsoft.Extensions.Logging.Debug", "1.0.0", "Microsoft.Extensions.Logging.Debug", "1.0.1")]
[InlineData("Microsoft.Extensions.Configuration.Json", "1.0.0", "Microsoft.Extensions.Configuration.Json", "1.0.1")]
[InlineData("Microsoft.Extensions.Configuration.UserSecrets", "1.0.0", "Microsoft.Extensions.Configuration.UserSecrets", "1.0.1")]
public void ItUpliftsMicrosoftExtensionsPackages(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
ValidatePackageMigration(sourcePackageName, sourceVersion, targetPackageName, targetVersion);
}
private void ValidatePackageMigration(
string sourcePackageName,
string sourceVersion,
string targetPackageName,
string targetVersion)
{
var mockProj = RunPackageDependenciesRuleOnPj("{ \"dependencies\": { \"" + sourcePackageName + "\" : { \"version\": \"" + sourceVersion + "\", \"type\": \"build\" } } }");
var packageRef = mockProj.Items.First(i => i.Include == targetPackageName && i.ItemType == "PackageReference");
packageRef.GetMetadataWithName("Version").Value.Should().Be(targetVersion);
}
}
}

View file

@ -12,19 +12,23 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
public class GivenThatIWantToMigrateTools : PackageDependenciesTestBase public class GivenThatIWantToMigrateTools : PackageDependenciesTestBase
{ {
[Theory] [Theory]
[InlineData("Microsoft.EntityFrameworkCore.Tools", "Microsoft.EntityFrameworkCore.Tools", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.EntityFrameworkCore.Tools", "1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Tools", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "1.0.0-preview2-final", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNetToolsVersion)]
public void It_migrates_project_dependencies_to_a_new_name_and_version( [InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "1.0.0-*", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "1.0.1", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "1.0.0-preview3-final", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("Microsoft.VisualStudio.Web.CodeGenerators.Mvc", "1.1.0-preview4-final", "Microsoft.VisualStudio.Web.CodeGeneration.Design", ConstantPackageVersions.AspNet110ToolsVersion)]
public void ItMigratesProjectDependenciesToANewNameAndVersion(
string sourceToolName, string sourceToolName,
string sourceVersion,
string targetToolName, string targetToolName,
string targetVersion) string targetVersion)
{ {
const string anyVersion = "1.0.0-preview2-final"; var mockProj = RunPackageDependenciesRuleOnPj("{ \"dependencies\": { \"" + sourceToolName + "\" : { \"version\": \"" + sourceVersion + "\", \"type\": \"build\" } } }");
var mockProj = RunPackageDependenciesRuleOnPj("{ \"dependencies\": { \"" + sourceToolName + "\" : { \"version\": \"" + anyVersion + "\", \"type\": \"build\" } } }");
var packageRef = mockProj.Items.First(i => i.Include == targetToolName && i.ItemType == "PackageReference"); var packageRef = mockProj.Items.First(i => i.Include == targetToolName && i.ItemType == "PackageReference");
packageRef.GetMetadataWithName("Version").Value.Should().Be(ConstantPackageVersions.AspNetToolsVersion); packageRef.GetMetadataWithName("Version").Value.Should().Be(targetVersion);
packageRef.GetMetadataWithName("PrivateAssets").Value.Should().NotBeNull().And.Be("All"); packageRef.GetMetadataWithName("PrivateAssets").Value.Should().NotBeNull().And.Be("All");
} }
@ -35,7 +39,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
[InlineData("Microsoft.VisualStudio.Web.CodeGeneration.Tools")] [InlineData("Microsoft.VisualStudio.Web.CodeGeneration.Tools")]
[InlineData("dotnet-test-xunit")] [InlineData("dotnet-test-xunit")]
[InlineData("dotnet-test-mstest")] [InlineData("dotnet-test-mstest")]
public void It_does_not_migrate_project_tool_dependency_that_is_no_longer_needed(string dependencyName) public void ItDoesNotMigrateProjectToolDependencyThatIsNoLongerNeeded(string dependencyName)
{ {
var mockProj = RunPackageDependenciesRuleOnPj(@" var mockProj = RunPackageDependenciesRuleOnPj(@"
{ {
@ -59,7 +63,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
[InlineData("Microsoft.DotNet.Watcher.Tools", "Microsoft.DotNet.Watcher.Tools", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.DotNet.Watcher.Tools", "Microsoft.DotNet.Watcher.Tools", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("Microsoft.Extensions.SecretManager.Tools", "Microsoft.Extensions.SecretManager.Tools", ConstantPackageVersions.AspNetToolsVersion)] [InlineData("Microsoft.Extensions.SecretManager.Tools", "Microsoft.Extensions.SecretManager.Tools", ConstantPackageVersions.AspNetToolsVersion)]
[InlineData("BundlerMinifier.Core", "BundlerMinifier.Core", ConstantPackageVersions.BundleMinifierToolVersion)] [InlineData("BundlerMinifier.Core", "BundlerMinifier.Core", ConstantPackageVersions.BundleMinifierToolVersion)]
public void It_migrates_asp_project_tools_to_a_new_name_and_version( public void ItMigratesAspProjectToolsToANewNameAndVersion(
string sourceToolName, string sourceToolName,
string targetToolName, string targetToolName,
string targetVersion) string targetVersion)
@ -73,7 +77,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
[Theory] [Theory]
[InlineData("Microsoft.AspNetCore.Razor.Tools")] [InlineData("Microsoft.AspNetCore.Razor.Tools")]
[InlineData("Microsoft.AspNetCore.Server.IISIntegration.Tools")] [InlineData("Microsoft.AspNetCore.Server.IISIntegration.Tools")]
public void It_does_not_migrate_asp_project_tool(string toolName) public void ItDoesNotMigrateAspProjectTool(string toolName)
{ {
var mockProj = RunPackageDependenciesRuleOnPj(@" var mockProj = RunPackageDependenciesRuleOnPj(@"
{ {