相关链接:
.net Core 3.0 SDK Preview 与 Runtime下载地址,开发者只需要下载SDK(包含Runtime)即可 链接
.net core 3.0 预览版更新和发展方向概述 链接
.net core 3.0 对桌面开发的支持性概述 链接
Winform开源后第一个来自社区的PR,改掉了万年不变丑陋的FolderBrowse窗口,终于不用再吐槽了 链接
本次 .net core 3 preview 1 更新的更新博客 链接
WPF Samples
https://github.com/dotnet/samples/tree/master/wpf
https://github.com/Microsoft/WPF-Samples
概述
微软搞事情有个特点,总是悄悄搞,动不动来个大新闻。这不12.6号如果你不注意VS2017右上角的一个通知消息,你就有可能错误这些历史时刻。VS2019预览版悄悄发布并推送了提醒,伴随着这次VS预览版更新的是 .Net Core 3.0的Preview1发布。伴随着和这次版本更新,开源了WPF与Winform基于.net core 3.0 preview1 实现,现在我们就可以使用基于.net core 3.0的WPF与Winform进行编程了。
发布早期需要注意的几点:
- VS2017与2019都支持.net core3.0项目,但是需要另外安装3.0 SDK,链接见文章开头
- VS2019也还没有支持.net core3.0桌面项目的构建模板,如果你需要创建项目,需要使用dotnet CLI工具
- 2019中没有提供任何系统引用,需要手动使用nuget搜索Microsoft.WindowsDesktop.App添加WPF依赖库的引用
项目移植
可移植性分析
API分析
微软更新了一个很老的工具,增加UI界面用于将传统.net framework移植到.net core 3.0的兼容性检查。
工具使用教程链接(网页内附下载地址)
注意几点:
- 分析工具只能分析基于.net framework 编译后生成的类库或程序,不能分析项目代码
- 目录下包含其他平台的dll,如C/C++编译生成的dll会报查找依赖错误,需要移除这些dll后再次分析
- 分析工具分析后会上报你的分析结果给微软,但是不会上传你的代码
Nuget包分析
使用NuGetPackageExplorer 工具 下载链接
在工具内选择加载在线包,然后在包内右侧lib文件夹中查看是否包含有.net core的版本信息。如果没有则是不支持,这种情况只能查看包是否开源,如果开源下载代码后重复本 #项目移植 流程即可
项目迁移
很可惜的是,现在还没有可用于项目迁移的工具。需要我们自己创建.net core 3.0的项目后将已有代码文件链接或者复制到新项目中去。需要注意的是,项目的组织方式发生了变化,有些项目相关的文件不再需要。因为自己搞迁移失败了,没有脸贡献任何经验[捂脸]
风险(真香警告)
本想详细介绍一些 WPF界面、样式、主题、资源这些在.net core版本wpf内的使用,但是经过迁移测试发现Demo般的用法没有问题,但是迁移实际项目基本属于不可用状态(很玛法)。主要原因有以下几点:
- xaml中引入system命令空间,找不到
- ResourceDirectionary 只能通过代码加载,而不能在xaml中载入(提示加载失败)
- 通过查看官方的Samples(前文有链接)得知,他们也是通过修改.csproj文件的大量内容,将目标框架指定为.net framework来进行混合编译的。这种不具备可操作性,且按照常规用法能编译通过,但是运行会有各种错误导致崩溃。
如果想要迁移成功,多看Samples。即便多看Samples,也不一定成功。我自己在没有文档的情况下,按照博客和Github等各处找到的只言片语来移植的实际项目编译成功,调制直接会进入中断模式。此文做抛砖引玉,望有大神能够写出一份可行性高的移植方案。
网友评论