开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 5722|回复: 1

DevExpress Winforms使用技巧:如何将.NET 4.x项目转换为.NET Core 3

[复制链接]

0

精华

8

贡献

1767

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2019-11-21 14:54:34 | 显示全部楼层 |阅读模式

DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpress WinForms都能轻松胜任。DevExpress广泛应用于ECM企业内容管理、 成本管控、进程监督、生产调度,在企业/政务信息化管理中占据一席重要之地。

【适用范围】:各种桌面、Web应用程序开发,尤其是WinForms应用程序开发。

点击获取DevExpress v19.2完整版试用下载

问题:

由于.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文件。 有关更多信息,请参阅微软的有关如何将桌面应用程序移植到.NET Core 3.0的文章和.NET Core支持帮助主题,以获取更多信息。

如果您决定继续更新现有项目,请注意您可以使用Nuget页面来找到软件包的描述和包含的程序集列表。 例如,这是包含DevExpress.XtraEditors DLL的软件包的列表:https://nuget.devexpress.com/packages?q=XtraEditors

DevExpress中文网官网QQ群:540330292      欢迎一起进群讨论


回复

使用道具 举报

0

精华

10

贡献

19

赞扬

帖子
7
软币
119
在线时间
5 小时
注册时间
2018-4-12
发表于 2020-11-11 16:27:30 | 显示全部楼层
感谢分享,难得找到转换到net core  的相关信息。

lz有没有更新更方便的转换指引?
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-3-29 17:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表