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 v19.2全新发布,欢迎下载最新版体验哦~

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

扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯

.NET Core 3时代如何转换.NET 4项目,DevExpress Winforms帮你忙!的更多相关文章

  1. Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

    原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty public class NullToEmptyStringResolver : De ...

  2. Eclipse中将Java项目转换成Web项目的方法

    前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...

  3. Java项目转换成Web项目

    阐述:有时候我们在Eclipse中导入一个web项目,发现导入到项目中后变成一个Java项目,这让人很蛋疼.本篇主要讲述怎样将这个本该为web项目的Java项目变身回去,以及一些在导入过程中遇到的一些 ...

  4. 如何将 Java 项目转换成 Maven 项目

    本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...

  5. Eclipse中将Java项目转换成Web项目的方法(转)

    前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...

  6. 转:如何将 Java 项目转换成 Maven 项目

    如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...

  7. ASP.NET Core 1.0 入门——了解一个空项目

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  8. 博客搬家到 http://fresky.github.io/ - Visual Studio的插件Pdbproj可以把pdb转换成C++项目

    博客搬到了Dawei XU,请各位看官挪步.最新的一篇是:Visual Studio的插件Pdbproj可以把pdb转换成C++项目.

  9. 普通项目如何转换成Maven项目 --转载自百度知道

    右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...

随机推荐

  1. 在学习python的Django\Flask\Tornado前你需要知道的,what is web?

    我们都在讲web开发web开发,那到底什么是web呢? 如果你正在学习python三大主流web框架,那这些你必须要知道了 软件开发架构: C/S架构:Client/Server    客户端与服务端 ...

  2. 使用PowerShell 修改DNS并加入域中

    运行环境:Windows Server 2012 R2 此powershell脚本为自动修改本机DNS并加入到域中 但有的时候会提示[本地计算机当前不是域的一部分.请重新执行脚本!]错误,如遇到该错误 ...

  3. 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...

  4. LG P2822 NOIP2016D2T1 组合数问题

    一句话题意 给定n.m和k,求对于所有的i(0<=i<=n)和j(0<=j<=min(i,m)),有多少对(i,j)使\(C_i^j\)使k的倍数 数据范围 部分分.满分做法和 ...

  5. python虚拟环境的的使用

    基于创建虚拟环境 virtualenv 安装 pip3 install virtualenv 通过virtulaenv创建虚拟环境 virtualenv luffycity --python=C:\P ...

  6. Elasticsearch5.x安装及常见错误的解决方法

    Elasticsearch是基于java开发的,机器上必须要先java环境,elasticsearch5.x建议用jdk8的最新版本.下面介绍elasticsearch5.x的安装步骤: 一.安装El ...

  7. nginx-host

    下载nginx镜像 docker pull docker.io/nginx:latest 由于calico网络不支持http协议,所以即使你在iptables中配置了nat路由,将访问宿主机80端口的 ...

  8. Good Triple CodeForces - 1169D (等差子序列)

    大意: 给定01字符串, 求有多少个区间$[l,r]$, 使得存在正整数$x,k$满足$1\le x,k\le n,l\le x<x+2k\le r,s_x=s_{x+k}=s_{x+2k}$. ...

  9. JavaScript设计模式(策略模式)

    策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来 ...

  10. JS downLoad

    $.fileDownload(url, { httpMethod: 'GET', data: null, prepareCallback: function (url) { layer.msg(&qu ...