.NET Core 3时代如何转换.NET 4项目,DevExpress Winforms帮你忙!
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文件。 有关更多信息,请参阅微软的有关如何将桌面应用程序移植到.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帮你忙!的更多相关文章
- Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty
原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty public class NullToEmptyStringResolver : De ...
- Eclipse中将Java项目转换成Web项目的方法
前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...
- Java项目转换成Web项目
阐述:有时候我们在Eclipse中导入一个web项目,发现导入到项目中后变成一个Java项目,这让人很蛋疼.本篇主要讲述怎样将这个本该为web项目的Java项目变身回去,以及一些在导入过程中遇到的一些 ...
- 如何将 Java 项目转换成 Maven 项目
本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...
- Eclipse中将Java项目转换成Web项目的方法(转)
前言: 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<n ...
- 转:如何将 Java 项目转换成 Maven 项目
如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...
- ASP.NET Core 1.0 入门——了解一个空项目
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 博客搬家到 http://fresky.github.io/ - Visual Studio的插件Pdbproj可以把pdb转换成C++项目
博客搬到了Dawei XU,请各位看官挪步.最新的一篇是:Visual Studio的插件Pdbproj可以把pdb转换成C++项目.
- 普通项目如何转换成Maven项目 --转载自百度知道
右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...
随机推荐
- 在学习python的Django\Flask\Tornado前你需要知道的,what is web?
我们都在讲web开发web开发,那到底什么是web呢? 如果你正在学习python三大主流web框架,那这些你必须要知道了 软件开发架构: C/S架构:Client/Server 客户端与服务端 ...
- 使用PowerShell 修改DNS并加入域中
运行环境:Windows Server 2012 R2 此powershell脚本为自动修改本机DNS并加入到域中 但有的时候会提示[本地计算机当前不是域的一部分.请重新执行脚本!]错误,如遇到该错误 ...
- 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...
- LG P2822 NOIP2016D2T1 组合数问题
一句话题意 给定n.m和k,求对于所有的i(0<=i<=n)和j(0<=j<=min(i,m)),有多少对(i,j)使\(C_i^j\)使k的倍数 数据范围 部分分.满分做法和 ...
- python虚拟环境的的使用
基于创建虚拟环境 virtualenv 安装 pip3 install virtualenv 通过virtulaenv创建虚拟环境 virtualenv luffycity --python=C:\P ...
- Elasticsearch5.x安装及常见错误的解决方法
Elasticsearch是基于java开发的,机器上必须要先java环境,elasticsearch5.x建议用jdk8的最新版本.下面介绍elasticsearch5.x的安装步骤: 一.安装El ...
- nginx-host
下载nginx镜像 docker pull docker.io/nginx:latest 由于calico网络不支持http协议,所以即使你在iptables中配置了nat路由,将访问宿主机80端口的 ...
- 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}$. ...
- JavaScript设计模式(策略模式)
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来 ...
- JS downLoad
$.fileDownload(url, { httpMethod: 'GET', data: null, prepareCallback: function (url) { layer.msg(&qu ...