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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Library" Version="4.2.0.26262" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Net4x.Project2015To2017.Migrate2017.Library" Version="4.2.0.26262" />
                    
Directory.Packages.props
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Library" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Net4x.Project2015To2017.Migrate2017.Library --version 4.2.0.26262
                    
#r "nuget: Net4x.Project2015To2017.Migrate2017.Library, 4.2.0.26262"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Net4x.Project2015To2017.Migrate2017.Library@4.2.0.26262
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Net4x.Project2015To2017.Migrate2017.Library&version=4.2.0.26262
                    
Install as a Cake Addin
#tool nuget:?package=Net4x.Project2015To2017.Migrate2017.Library&version=4.2.0.26262
                    
Install as a Cake Tool

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.

  • Net4x.Project2015To2017.Core — project model, readers, writer, transformation and analysis engine
  • Net4x.Project2015To2017.Base — MigrationFacility, the high-level orchestration entry point
  • Net4x.Project2015To2017.Migrate2019.Library — VS2019 (VS16) sets, built on top of these
  • Net4x.Project2015To2017.Migrate2017.Tool — dotnet migrate-2017 global tool

License

MIT. Copyright Hans van Bakel. See LICENSE.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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