Net4x.Project2015To2017.Migrate2017.Library
4.2.0.26262
dotnet add package Net4x.Project2015To2017.Migrate2017.Library --version 4.2.0.26262
NuGet\Install-Package Net4x.Project2015To2017.Migrate2017.Library -Version 4.2.0.26262
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Library" Version="4.2.0.26262" />
<PackageVersion Include="Net4x.Project2015To2017.Migrate2017.Library" Version="4.2.0.26262" />
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Library" />
paket add Net4x.Project2015To2017.Migrate2017.Library --version 4.2.0.26262
#r "nuget: Net4x.Project2015To2017.Migrate2017.Library, 4.2.0.26262"
#:package Net4x.Project2015To2017.Migrate2017.Library@4.2.0.26262
#addin nuget:?package=Net4x.Project2015To2017.Migrate2017.Library&version=4.2.0.26262
#tool nuget:?package=Net4x.Project2015To2017.Migrate2017.Library&version=4.2.0.26262
Net4x.Project2015To2017.Migrate2017.Library
VS2017 (VS15) transformation and diagnostic sets for CsprojToVs2017 — the tool that converts legacy (VS2015-era) MSBuild project files to the modern SDK-style format.
Net4x.Project2015To2017.Core provides the engine; this package provides the policy — the concrete
set of transformations and diagnostics that produce a project file a Visual Studio 2017 toolchain is
happy with.
Use this package when you must stay on VS2017 conventions. For current work prefer
Net4x.Project2015To2017.Migrate2019.Library, which builds on this one.
Installation
dotnet add package Net4x.Project2015To2017.Migrate2017.Library
Target frameworks: netstandard2.0, net461
Usage
using Project2015To2017;
using Project2015To2017.Analysis;
using Project2015To2017.Migrate2017;
var facility = new MigrationFacility(logger);
facility.ExecuteMigrate(
new[] { @"C:\path\to\Solution.sln" },
Vs15TransformationSet.Instance,
analysisOptions: new AnalysisOptions(Vs15DiagnosticSet.All));
Transformation sets
| Set | Contents |
|---|---|
Vs15TransformationSet.Instance |
The full migration pipeline: reading, generic simplification for VS 15.0, then the VS15 transformations below. This is what you normally pass to ExecuteMigrate. |
Vs15TransformationSet.TrueInstance |
Only the VS15-specific transformations, for composing your own chain. |
Vs15ModernizationTransformationSet.Instance |
Opt-in cleanups applied to projects that are already SDK-style: UpgradeDebugTypeTransformation, UpgradeUseDefaultOutputPathTransformation, UpgradeUseComVisibleDefaultTransformation, UpgradeTestServiceTransformation, UpgradeFrameworkAssembliesToNuGetTransformation. |
Vs15TransformationSet applies TargetFrameworkReplaceTransformation,
FrameworkReferencesTransformation, TestProjectPackageReferenceTransformation, the assembly
reference filters (AssemblyFilterPackageReferencesTransformation,
AssemblyFilterHintedPackageReferencesTransformation, AssemblyFilterDefaultTransformation),
ImportsTargetsFilterPackageReferencesTransformation, FileTransformation,
XamlPagesTransformation and BrokenHookTargetsTransformation.
Vs15TransformationSet.TargetVisualStudioVersion is 15.0 and drives the version-dependent
behaviour of BasicSimplifyTransformationSet.
Diagnostics
Vs15DiagnosticSet.All is the core diagnostics plus:
| Code | Diagnostic |
|---|---|
W020 |
Microsoft.CSharp reference is redundant on modern projects |
W021 |
System.* NuGet packages that a modern project gets from the framework |
W030 |
Legacy DebugType values |
W031 |
MSBuild SDK version specification issues |
W032 |
Outdated LangVersion |
W033 |
Obsolete Portable Class Library targets |
W034 |
Reference aliases that need attention |
W020/W021 are grouped as Vs15DiagnosticSet.ModernIssues; W030–W034 as
Vs15DiagnosticSet.ModernizationTips.
Composing with your own transformations
var set = new ChainTransformationSet(
Vs15TransformationSet.Instance,
new BasicTransformationSet(new MyPreTransform(), new MyPostTransform()));
Ordering is resolved by the engine from each transformation's execution moment and declared
dependencies — see the Net4x.Project2015To2017.Core readme.
Related packages
Net4x.Project2015To2017.Core— project model, readers, writer, transformation and analysis engineNet4x.Project2015To2017.Base—MigrationFacility, the high-level orchestration entry pointNet4x.Project2015To2017.Migrate2019.Library— VS2019 (VS16) sets, built on top of theseNet4x.Project2015To2017.Migrate2017.Tool—dotnet migrate-2017global tool
License
MIT. Copyright Hans van Bakel. See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.1
- Net4x.Project2015To2017.Core (>= 4.2.0.26262)
-
.NETStandard 2.0
- Net4x.Project2015To2017.Core (>= 4.2.0.26262)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Net4x.Project2015To2017.Migrate2017.Library:
| Package | Downloads |
|---|---|
|
Net4x.Project2015To2017.Migrate2019.Library
Tool for converting a MSBuild project file to VS2017 format and beyond. |
|
|
Net4x.Project2015To2017.Migrate2017.Tool
Tool for converting a MSBuild project file to VS2017 format and beyond. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.0.26262 | 218 | 9/19/2026 |