You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article provides an overview of what you should consider when porting your code from .NET Framework to .NET (formerly named .NET Core). Porting to .NET from .NET Framework is relatively straightforward for many projects. The complexity of your projects dictates how much work you'll need to do after the initial migration of the project files.
11
+
This article provides an overview of what you should consider when porting your code from .NET Framework to .NET (formerly named .NET Core). Porting to .NET from .NET Framework is relatively straightforward for many projects. The complexity of your projects dictates how much work you'll need to do after the initial upgrade of the project files.
12
12
13
13
Projects where the app model is available in .NET, such as libraries, console apps, and desktop apps, usually require little change. Projects that require a new app model, such as moving to [ASP.NET Core from ASP.NET](/aspnet/core/migration/proper-to-2x/), require more work. Many patterns from the old app model have equivalents that can be used during the conversion.
14
14
15
15
## Windows desktop technologies
16
16
17
17
Many applications created for .NET Framework use a desktop technology such as Windows Forms or Windows Presentation Foundation (WPF). Both Windows Forms and WPF are available in .NET, but they remain Windows-only technologies.
18
18
19
-
Consider the following dependencies before you migrate a Windows Forms or WPF application:
19
+
Consider the following dependencies before you upgrade a Windows Forms or WPF application:
20
20
21
21
- Project files for .NET use a different format than .NET Framework.
22
22
- Your project might use an API that isn't available in .NET.
@@ -25,10 +25,10 @@ Consider the following dependencies before you migrate a Windows Forms or WPF ap
25
25
26
26
.NET uses the open-source versions of Windows Forms and WPF and includes enhancements over .NET Framework.
27
27
28
-
For tutorials on migrating your desktop application to .NET, see one of the following articles:
28
+
For tutorials on upgrading your desktop application to .NET, see one of the following articles:
29
29
30
30
-[How to upgrade a WPF desktop app to .NET](/dotnet/desktop/wpf/migration/)
31
-
-[Migrate .NET Framework Windows Forms apps to .NET](/dotnet/desktop/winforms/migration/)
31
+
-[Upgrade .NET Framework Windows Forms apps to .NET](/dotnet/desktop/winforms/migration/)
32
32
33
33
## Windows-specific APIs
34
34
@@ -119,7 +119,7 @@ It's possible that your library or console-based application can be used cross-p
119
119
120
120
## Tools to assist porting
121
121
122
-
Instead of manually porting an application from .NET Framework to .NET, you can use different tools to help automate some aspects of the migration. Porting a complex project is, in itself, a complex process. The tools might help in that journey.
122
+
Instead of manually porting an application from .NET Framework to .NET, you can use different tools to help automate some aspects of the upgrade. Porting a complex project is, in itself, a complex process. The tools might help in that journey.
123
123
124
124
Even if you use a tool to help port your application, you should review the [Considerations when porting section](#considerations-when-porting) in this article.
125
125
@@ -160,19 +160,19 @@ Use the Azure Migrate application and code assessment for .NET toolset for an as
160
160
161
161
### .NET Upgrade Assistant
162
162
163
-
The [.NET Upgrade Assistant](upgrade-assistant-overview.md) is a command-line tool that can be run on different kinds of .NET Framework apps. It's designed to assist with upgrading .NET Framework apps to .NET. After running the tool, **in most cases the app will require more effort to complete the migration**. The tool includes the installation of analyzers that can assist with completing the migration. This tool works on the following types of .NET Framework applications:
163
+
The [.NET Upgrade Assistant](upgrade-assistant-overview.md) is a command-line tool that can be run on different kinds of .NET Framework apps. It's designed to assist with upgrading .NET Framework apps to .NET. After running the tool, **in most cases the app will require more effort to complete the upgrade**. The tool includes the installation of analyzers that can assist with completing the upgrade. This tool works on the following types of .NET Framework applications:
164
164
165
165
- Windows Forms
166
166
- WPF
167
167
- ASP.NET MVC
168
168
- Console
169
169
- Class libraries
170
170
171
-
This tool uses the other tools listed in this article, such as **try-convert**, and guides the migration process. For more information about the tool, see [Overview of the .NET Upgrade Assistant](upgrade-assistant-overview.md).
171
+
This tool uses the other tools listed in this article, such as **try-convert**, and guides the upgrade process. For more information about the tool, see [Overview of the .NET Upgrade Assistant](upgrade-assistant-overview.md).
172
172
173
173
**When to use:**
174
174
175
-
Use .NET Upgrade Assistant to upgrade .NET Framework apps to newer versions of .NET. This tool provides an alternative to the AI powered GitHub Copilot App Modernization – Upgrade for .NET experience.
175
+
Use when an AI powered solution like GitHub Copilot app modernization isn't available.
176
176
177
177
### `try-convert`
178
178
@@ -190,11 +190,11 @@ For more information, see [Platform compatibility analyzer](../../standard/analy
190
190
191
191
When porting your application to .NET, consider the following suggestions in order:
192
192
193
-
✔️ CONSIDER using the [GitHub Copilot app modernization](github-copilot-app-modernization-overview.md) to migrate your projects. GitHub Copilot is powerful at identifying and fixing incompatibilities when porting. It automates most of the manual steps detailed in this article and gives you a great starting point for continuing your migration path.
193
+
✔️ CONSIDER using the [GitHub Copilot app modernization](github-copilot-app-modernization-overview.md) to upgrade your projects. GitHub Copilot is powerful at identifying and fixing incompatibilities when porting. It automates most of the manual steps detailed in this article and gives you a great starting point for continuing your upgrade path.
194
194
195
195
✔️ CONSIDER examining your dependencies first. Your dependencies must target .NET, .NET Standard, or .NET Core.
196
196
197
-
✔️ DO migrate from a NuGet _packages.config_ file to [PackageReference](/nuget/consume-packages/package-references-in-project-files) settings in the project file. Use Visual Studio to [convert the _package.config_ file](/nuget/consume-packages/migrate-packages-config-to-package-reference#migration-steps).
197
+
✔️ DO upgrade from a NuGet _packages.config_ file to [PackageReference](/nuget/consume-packages/package-references-in-project-files) settings in the project file. Use Visual Studio to [convert the _package.config_ file](/nuget/consume-packages/migrate-packages-config-to-package-reference#migration-steps).
198
198
199
199
✔️ CONSIDER upgrading to the latest project file format even if you can't yet port your app. .NET Framework projects use an outdated project format. Even though the latest project format, known as SDK-style projects, was created for .NET Core and beyond, the format also works with .NET Framework. Having your project file in the latest format gives you a good basis for porting your app in the future.
200
200
@@ -204,7 +204,7 @@ When porting your application to .NET, consider the following suggestions in ord
204
204
205
205
✔️ DO target .NET 8+ for **Windows Forms and WPF** projects. .NET 8 and later versions contain many improvements for Desktop apps.
206
206
207
-
✔️ CONSIDER targeting .NET Standard 2.0 if you're migrating a library that might also be used with .NET Framework projects. You can also multitarget your library, targeting both .NET Framework and .NET Standard.
207
+
✔️ CONSIDER targeting .NET Standard 2.0 if you're upgrading a library that might also be used with .NET Framework projects. You can also multitarget your library, targeting both .NET Framework and .NET Standard.
208
208
209
209
✔️ DO add reference to the [Microsoft.Windows.Compatibility NuGet package](https://www.nuget.org/packages/Microsoft.Windows.Compatibility) if, after migrating, you get errors of missing APIs. A large portion of the .NET Framework API surface is available to .NET via the NuGet package.
Copy file name to clipboardExpand all lines: docs/core/porting/upgrade-assistant-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.date: 10/08/2024
12
12
13
13
# What is .NET Upgrade Assistant?
14
14
15
-
.NET Upgrade Assistant helps upgrade projects to newer versions of .NET and analyzes your code to spot and fix potential incompatibilities. One focus of the tool is to help migrate a project from .NET Framework, .NET Core, or .NET, to the latest version of .NET. You use the extension or tool to upgrade entire .NET projects, or some aspect of the project, such migrating a configuration file from an older type to a newer type.
15
+
.NET Upgrade Assistant helps upgrade projects to newer versions of .NET and analyzes your code to spot and fix potential incompatibilities. One focus of the tool is to help upgrading a project from .NET Framework, .NET Core, or .NET, to the latest version of .NET. You use the extension or tool to upgrade entire .NET projects, or some aspect of the project, such upgrading a configuration file from an older type to a newer type.
16
16
17
17
.NET Upgrade Assistant is distributed as a Visual Studio extension or a command-line interface (CLI) tool.
0 commit comments