写点什么

用 WinForm/WPF 代码来为.NET Core 3.0 功能投票

  • 2018-08-21
  • 本文字数:936 字

    阅读完需:约 3 分钟

我们在 5 月报道过微软希望在.NET Core 3.0 上运行 WinForms 和 WPF。为了实现这个目标,他们正在构建一个新工具,该工具将允许你投票以决定他们需要把哪些 API 移植到.NET Core。但是,这不是一次直接进行的投票,而是基于你的应用程序正在使用的 API 进行的。

他们为此开发的工具叫作可移植性分析器(Portability Analyzer)。该工具的前几个版本被用于对控制台和ASP.NET 应用程序所需功能进行投票。在运行该工具的GUI 版本时,你需要选择一个目录。如果你粘贴的文件的文件名后缀为exe 和dll,那么分析器就不会正确运行。

需要提醒的是,WinForm 和WPF 不会在此计划下实现跨平台。这个计划的目的是让Windows 开发人员能够从.NET Core 的部署和性能提升中获益。

当然,这并不是说从长期来看跨平台的UI 是不可能的。他们可能会把 WinForm 的 Mono/Linux 版本移植到.NET Core ,或者基于 XAML 的 Avalonia 项目可能会越来越受欢迎。当然,从开发人员对.NET Core 3.0 公告的评论中还是可以看到人们对可用跨平台 GUI 是很感兴趣的。

目前还没有在考虑中的 API 的完整列表,不过 Immo Landwerth 分享一些信息:

从高层面来说,我们已经决定:

.NET Core 不会包含 Remoting;

不会在.NET Core 上启用部分信任 /CAS/ 沙箱操作;

不会在.NET Core 3.0 中引入 System.Web、WF 和 WCF 托管,但是,这取决于用户反馈。

我认为,几乎所有其他因素都取决于有多少人受其影响,以及我们是否能在.NET Core 3.0 中实现。

在评论中,开发人员列举了一些他们最想要的 API。Jan Friedirch 写道:

WCF 托管是把我们的应用程序移植到.NET Core 唯一缺失的东西。我们有 15 个不同的托管 WCF 的应用程序。

Ryan 回应刚才的说法:

我的大多数应用程序都没问题,但是唯一缺失的东西就是 WCF。我知道,这个还在讨论中,因此,我会全力支持它。现在,我使用双向 TCP 在一个客户端应用程序和一个远程会话中的应用程序之间进行通信。我可能会把它切换到 websocket 实现,但我希望不会立即在这上面耗费太多资源(尽管我已经在考虑这么做,因为有一个功能请求需要对服务定义进行重大修改)。

InfoQ 将在下周对服务器端 WCF 的辩论进行全面的报道。

查看英文原文: https://www.infoq.com/news/2018/08/Core-3-Portability-WPF-WinForms

感谢无明对本文的审校。

2018-08-21 09:364514
用户头像

发布了 199 篇内容, 共 89.8 次阅读, 收获喜欢 295 次。

关注

评论

发布
暂无评论
发现更多内容

跨平台应用开发进阶(五十三):uni-app 通过webview方式嵌套H5实现图片点击下载

No Silver Bullet

uni-app 跨平台应用开发 三周年连更 web-view

创新引领・数创未来 | 数据流通与治理专题论坛交流会顺利召开

郑州埃文科技

Go 语言中的 Slice 陷阱:如何避免常见错误

陈明勇

Go golang 切片 三周年连更 切片陷阱

【Linux】iptables之防火墙概述及规则匹配+实例(1)

A-刘晨阳

Linux iptables 防火墙规则 三周年连更

Qz学算法-数据结构篇(链表、栈)

浅辄

数据结构 链表 三周年连更

Gradle工程适配为Hvigor工程

坚果

OpenHarmony 三周年连更

delphi中TServerSocker使用stThreadBlocking模式的例子

linux大本营

算法题每日一练:组合总和 Ⅳ

知心宝贝

数据结构 算法 前端 后端 三周年连更

SpringBoot之Tomcat与Undertow容器性能对比 | 超级详细,建议收藏

bug菌

tomcat 三周年连更 Undertow

强大的音频分析编辑工具:Amadeus Pro 汉化激活版

真大的脸盆

Mac Mac 软件 音频编辑 音频处理工具 编辑音频

火山引擎云原生数据仓库ByteHouse技术白皮书V1.0 (Ⅴ)

字节跳动数据平台

数据仓库 云原生 白皮书 企业号 4 月 PK 榜

uniapp配置基本的tabbar和动态修改内容

格斗家不爱在外太空沉思

uni-app 三周年连更

创建和管理复杂的项目:OmniPlan Pro 4 mac中文版

真大的脸盆

Mac Mac 软件 项目管理工具 项目流程软件

arm m4 xpsr每一位的作用

linux大本营

寄存器 arm

/sbin/kexec参数说明

linux大本营

Linux 镜像 Linux内核

想转行计算机但不知道转哪个方面比较好?

linux大本营

软件开发 计算机

Spring中事务嵌套这么用一定得注意了!!

JAVA旭阳

Java spring

ChatGPT安全受质疑 网信办发布生成式人工智能服务管理办法意见稿

郑州埃文科技

【Python实战】XPath采集数据

BROKEN

三周年连更

基于Java+Dubbo设计的智能公交查询系统

DS小龙哥

三周年连更

AI大模型加速RPAxAI时代到来,谁会是RPA领域的杀手级应用?

王吉伟频道

RPA AI大模型 ChatGPT RPAxAI 企业级RPA

缓解过拟合方法

linux大本营

面试必考: 手撕代码系列(一)

沉浸式趣谈

JavaScript 手写代码 前端面试 手撕代码 超全前端面试题

什么叫函数的注册,用c++举个例子

linux大本营

c++ 函数

领先企业的数智化进入2.0阶段,需要升级数智底座

用友BIP

设计模式之原型模式和建造者模式

共饮一杯无

设计模式 建造者模式 三周年连更

ES开发指南|如何快速上手ElasticSearch

浅羽技术

全文检索 搜索 Lucence Elastic Search 三周年连更

C++grpc 服务器接收到请求后如何处理

linux大本营

gRPC 序列化 protobuf C++

winDbg 提示 Unable to verify checksum for IOCommModel.exe

linux大本营

网络安全 数字证书

@PathVariable 和 @RequestParam 的区别

linux大本营

leaflet加载聚合

linux大本营

用WinForm/WPF代码来为.NET Core 3.0功能投票_.NET_Jonathan Allen_InfoQ精选文章