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

问题:

由于.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项目/p>

问题不在于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=XtraEditors


DevExpress v19.2全新发布,欢迎下载最新版体验哦~

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月15日
下一篇 2019年10月15日

相关推荐

发表回复

登录后才能评论