DevExpress Winforms使用技巧教程:如何将.NET 4.x项目转换为.NET Core 3
DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpress WinForms都能轻松胜任。DevExpress广泛应用于ECM企业内容管理、 成本管控、进程监督、生产调度,在企业/政务信息化管理中占据一席重要之地。
【适用范围】:各种桌面、Web应用程序开发,尤其是WinForms应用程序开发。
问题:
由于.NET Core现在可用,因此存在有关如何将大型解决方案项目从.NET Framework迁移到.NET Core 3的问题。目前谈论的不是源迁移,而是项目的参考迁移。可以创建一个全新的.NET Core 3项目,复制所有源文件,问题的关键是DevExpress依赖项。现在所有DevExpress产品都基于DLL样式的,而新的.NET Core 3产品则基于nuget。
除此之外,全新的.NET Core 3 DLL映射了不同的"old"组件,因此在一个非常大的项目中几乎无法理解哪个映射"old"引用的"new" nuget包。如何创建参照旧.net 4.x组件获得旧.csproj样式的VS扩展或Exe,并参照NUGET包创建新的.csproj项目?
问题不在于tu如何更新第三方dll,而是如何从老版本的Devexpress DLL迁移到新的nuget软件包,因为namespace和API覆盖范围不同。例如,DevExpress.XtraEditor不是一个单独的DLL,而是包含在具有不同名称的nuget程序包中,其中包括许多其他旧的DX Dll,因此在新的nuget包中找到DLL的引用并不容易。目前需要的是一种能以简单方式将旧DX Dll列表映射到一个或多个nuget包的工具。
对于使用大量DX Dll的大量项目解决方案,这个缺失的工具是一个大问题。
解决方案:
目前DevExpress暂没有计划实现将NET Framework项目转换为.NET Core项目的解决方案,但是在将来的版本中有实现该扩展的可能性。从技术上讲,可以用所需的Nuget包只替换DLL,但是问题在于仅更新DLL不足以使庞大的项目工作。
如果项目引用第三方DLL,则必须替换这些DLL,此类第三方库一个很好的示例是.NET项目中广泛使用的实体框架。考虑到这一点不适合大多数用户,因为他们将拥有部分更新的项目,并需要手动完成更新过程。
至于将现有的.NET Framework项目更新为.NET Core项目,则无法在Visual Studio中将.NET Framework应用程序移植到.NET Core。 您需要复制项目文件夹并替换.csproj文件。 有关更多信息,请参阅微软的有关的文章和帮助主题,以获取更多信息。
如果您决定继续更新现有项目,请注意您可以使用来找到软件包的描述和包含的程序集列表。 例如,这是包含DevExpress.XtraEditors DLL的软件包的列表://nuget.devexpress.com/packages?q=XtraEditors
DevExpress v19.2全新发布,欢迎下载最新版体验哦~
DevExpress中文网官网QQ群:540330292 欢迎一起进群讨论
扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯