Net4x.Project2015To2017.Migrate2017.Tool
4.2.0.26262
dotnet add package Net4x.Project2015To2017.Migrate2017.Tool --version 4.2.0.26262
NuGet\Install-Package Net4x.Project2015To2017.Migrate2017.Tool -Version 4.2.0.26262
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Tool" Version="4.2.0.26262" />
<PackageVersion Include="Net4x.Project2015To2017.Migrate2017.Tool" Version="4.2.0.26262" />
<PackageReference Include="Net4x.Project2015To2017.Migrate2017.Tool" />
paket add Net4x.Project2015To2017.Migrate2017.Tool --version 4.2.0.26262
#r "nuget: Net4x.Project2015To2017.Migrate2017.Tool, 4.2.0.26262"
#:package Net4x.Project2015To2017.Migrate2017.Tool@4.2.0.26262
#addin nuget:?package=Net4x.Project2015To2017.Migrate2017.Tool&version=4.2.0.26262
#tool nuget:?package=Net4x.Project2015To2017.Migrate2017.Tool&version=4.2.0.26262
Net4x.Project2015To2017.Migrate2017.Tool
.NET global tool that converts legacy (VS2015-era) MSBuild project files to the SDK-style format introduced with Visual Studio 2017. Part of CsprojToVs2017.
Install this only if you need to stay on VS2017 conventions. For current work use
Net4x.Project2015To2017.Migrate2019.Tool, which provides dotnet migrate-2019 and picks proper
project SDKs for desktop and mobile projects.
Installation
dotnet tool install --global Net4x.Project2015To2017.Migrate2017.Tool
Requires the .NET 6 runtime. The tool is invoked as dotnet migrate-2017.
Quick start
dotnet migrate-2017 wizard "D:\Path\To\My\TestProject.csproj"
dotnet migrate-2017 wizard "D:\Path\To\My\TestProject.sln"
dotnet migrate-2017 wizard .\MyProjectDirectory
dotnet migrate-2017 wizard **\*
The wizard is interactive and walks you through the conversion, offering to create backups before every critical stage.
Paths are optional. With no arguments the tool searches the current directory; if there is exactly one convertible project or solution it uses it, otherwise it tells you why it cannot decide safely.
What it fixes
VS2017 and later handle several things differently. The tool:
- Replaces per-file
Compileentries with wildcard includes - Rewrites project references in the succinct modern form
- Converts
packages.configtoPackageReference - Folds
AssemblyInfo.csattributes into the project file - Moves the NuGet package definition into the project file
Commands
| Command | Description |
|---|---|
wizard |
Interactive conversion wizard (recommended — it runs the others in the right order) |
migrate |
Non-interactive migration, for scripts and advanced users |
evaluate |
Report what migration would do, without changing anything |
analyze |
Run diagnostics against the project files, no conversion |
Options
| Option | Applies to | Description |
|---|---|---|
-t\|--target-frameworks <frameworks> |
migrate, evaluate |
Override the target frameworks in the output project file |
-ft\|--force-transformations <names> |
migrate |
Force specific transformations to run regardless of project conversion state |
-f\|--force |
migrate, evaluate, wizard |
Convert project types otherwise considered unsupported (e.g. Entity Framework, ASP.NET) |
-a\|--keep-assembly-info |
migrate, evaluate, wizard |
Keep AssemblyInfo.cs instead of folding attributes into the project file |
-o\|--old-output-path |
migrate |
Do not append the target framework to the output path |
-n\|--no-backup |
migrate |
Skip creating the Backup directory (useful when the solution is under source control) |
-v\|--verbosity <LEVEL> |
all | q[uiet], m[inimal], n[ormal], d[etailed], diag[nostic] |
-h\|--help |
all | Show help for the command |
Not every option applies to every command — check dotnet migrate-2017 <command> --help.
Repeat an option to pass multiple values:
dotnet migrate-2017 migrate -t net40 -t net45
Related packages
Net4x.Project2015To2017.Migrate2019.Tool—dotnet migrate-2019, the recommended toolNet4x.Project2015To2017.Migrate2017.Library— the VS2017 transformation and diagnostic setsNet4x.Project2015To2017.Base—MigrationFacility, the high-level orchestration entry pointNet4x.Project2015To2017.Core— project model, readers, writer, transformation and analysis engine
License
MIT. Copyright Hans van Bakel. See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. 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 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. |
-
.NETFramework 4.6.1
- DotNet.Glob (>= 3.0.5)
- Net4x.Project2015To2017.Base (>= 4.2.0.26262)
- Net4x.Project2015To2017.Core (>= 4.2.0.26262)
- Net4x.Project2015To2017.Migrate2017.Library (>= 4.2.0.26262)
- Serilog (>= 2.8.0)
- Serilog.Enrichers.Demystify (>= 1.0.0-dev-00019)
- Serilog.Extensions.Logging (>= 2.0.4)
- Serilog.Sinks.Console (>= 3.1.1)
-
net6.0
- DotNet.Glob (>= 3.0.5)
- Net4x.Project2015To2017.Base (>= 4.2.0.26262)
- Net4x.Project2015To2017.Core (>= 4.2.0.26262)
- Net4x.Project2015To2017.Migrate2017.Library (>= 4.2.0.26262)
- Serilog (>= 2.8.0)
- Serilog.Enrichers.Demystify (>= 1.0.0-dev-00019)
- Serilog.Extensions.Logging (>= 2.0.4)
- Serilog.Sinks.Console (>= 3.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.0.26262 | 90 | 9/19/2026 |