将WPF应用程序迁移到 .NET
本主题介绍如何将使用 DevExpress 控件将WPF应用程序升级到 .NET,一旦切换目标平台您就可以利用。
开始之前
先决条件
- 安装了.NET desktop development工作负载 的
迁移应用程序
DevExpress统一组件安装程序随 .NET Core Migration Tool一起发布。
在解决方案资源管理器中选择要转换的项目,然后在Visual Studio的DevExpress菜单中选择Migrate the Current project to .NET Core:
.NET Core Migration Tool 使用 将您的项目转换为sdk风格的格式,并将DevExpress程序集引用替换为NuGet包引用,选择所需的.NET 版本并单击Convert。
转换完成后,.NET Core Migration Tool 将显示尝试转换工具的输出,单击Finish关闭工具并在提示时重新加载项目。
提示:
您需要安装.NET 5.0 SDK才能运行此转换工具。
由.NET Core Migration Tool 转换的库类型项目的目标是netstandard2.0。
考虑可移植性限制
尝试重构代码来减少对缺失api的调用次数,寻找具有所需功能的替代API。
更新非DevExpress NuGet包
DevExpress NuGet包兼容.NET和.NET Framework平台。
检查项目中使用的非devexpress NuGet包是否与.NET兼容,以及是否有更新的兼容版本。
如有必要,更新项目以引用最新的包版本。
提示:
即使Visual Studio没有显示任何编译时错误,也要执行此步骤。如果您使用未针对 .NET运行时进行测试的包构建应用程序,则可能会遇到运行异常。
修复构建问题
如果Visual Studio显示构建错误,请根据输出对代码进行重构,直到可以成功编译为止。
提示:
- 使用 包访问windows特定的APIs:Registry、WCF Client、ACL。
- 使用 来编写 .NET 和 .NET 框架中不同的一小部分代码。
已知限制
1.Visual Basic项目在转换后显示以下警告:
.vbproj uses code generators which will not be handled by try-convert. You can edit your vbproj to add support or remove these dependencies.
2.默认的 .NET 平台是AnyCPU,如果您的 .NET 框架解决方案只配置了x86平台,请在项目文件中手动指定平台:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Platforms>x86;AnyCPU</Platforms> ... </PropertyGroup> ... </Project>
测试应用程序
运行并测试升级后的应用程序。请记住,即使应用程序是在没有编译时错误的情况下构建的,运行时异常也是可能的。