当前位置:网站首页 / WPF / 正文

AYUI WPF core3 修改记录

时间:2019年11月13日 | 作者 : aaronyang | 分类 : WPF | 浏览: 734次 | 评论 1

必须vs2019最新版

1 打开扩展  搜索.NET Portability Analyzer 下载和安装

image.png

如果下载不成功,我AY这里通过商店下载的。

可以前往这里下载:打开


要开始在Visual Studio中使用.NET可移植性分析器,首先需要从Visual Studio Marketplace下载并安装扩展。 它适用于Visual Studio 2017和更高版本。 您可以在Visual Studio中通过“分析”>“可移植性分析器设置”对其进行配置,

然后选择目标平台,这是您要评估可移植性差距与构建当前程序集的平台/版本相比的.NET平台/版本。


image.png

打开vs

工具-选项

然后如下图位置,第一次打开会很慢

image.png

安装完,我勾选了下面的,我希望我的代码能生成这4个版本的

image.png


image.png

然后我想看看我以前写的ayui代码有没有兼容问题,打开项目

右键解决方案,单击,Analyze Assembly Portability

等待一会,打开报告如下

image.png

该报告的“可移植性摘要”部分显示了运行中包括的每个程序集的可移植性百分比。 在上一个示例中,.NET Core + Platform Extensions中提供了svcutil应用程序中使用的99.15%的.NET Framework API。 如果对多个程序集运行.NET Portability Analyzer工具,则“可移植性摘要”报告中的每个程序集都应有一行


得到这个结果,貌似问题跟core要改的地方还很多

看第三列,我的Ay.MvcFramework.Wpf是99.15,并不是100,说明哪里还是不兼容的。


点击下面第二个sheet

image.png

该报告的“详细信息”部分列出了任何选定的目标平台中缺少的API。


目标类型:目标平台缺少该类型的API

目标成员:目标平台中缺少该方法

程序集名称:缺少的API所在的.NET Framework程序集。

每个选定的目标平台都是一列,例如“ .NET Core”:“不支持”值表示此目标平台不支持API。

推荐的更改:推荐更改的API或技术。 当前,对于许多API而言,此字段为空或已过期。 由于API数量众多,因此要保持它,我们面临着巨大的挑战。 我们正在寻找替代解决方案,以向客户提供有用的信息。


image.png

自己筛选问题,

image.png

发现基本上是System.Web.Services下的问题,还有两个System.IO.DirectoryInfo的问题

那么过会我们来修改


我们先看第3个sheet

image.png

这个类库

是你引用的,不是你代码里的,所以没分析,基本上我这里引用的是.net framework的interactivity

我估计我需要源码了,


比如引用了newtonsoft.dll json处理的,估计要换他的core版本了。



迁移到 .NET Core 并不会为这些程序带来跨平台特性,只是能够充分利用到 .NET Core 带来的诸多好处而已。比如更高的性能,更方便的部署,及时的更新





修复Mvc库过程

移除System.Web.Services.dll的引用,移除文件

image.png


注释AyFuncIO下的 这个方法

image.png


对这个类库重新运行


然后提示错误,还有

注释这个地方

AyFuncSecrity文件下的一个方法注释,不常用

System.Web.FormsAuthentication


image.png





新建一个空白的解决方案

image.png

为了保持项目兼容,程序集名字保持不变,以防以前demo不兼容,新建

image.png


image.png


image.png

删掉

image.png

拷贝以前100% api兼容通过的文件

image.png

提示2个问题

image.png

我解决办法,反编译以前 interactivity的类库,然后修改,幸好以前搞ayui8时候反编译处理了一下

image.png

接下来,就是改下报错地方,顶部的命名空间问题

              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

                    xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"


换成

xmlns:i="clr-namespace:System.Windows.Interactivity" xmlns:ei="clr-namespace:ay.contentcore"



有个常用的要改了

  xmlns:sys="clr-namespace:System;assembly=mscorlib"

改成

     xmlns:sys="clr-namespace:System;assembly=System.Runtime"


接下来安装core版本的

image.png

移除winform相关的支持

image.png


接下来安装

image.png

安装

image.png


注销

image.png

注销

image.png

nuget搜

System.Management库安装


双击

image.png

加上一行    <UseWindowsForms>true</UseWindowsForms>


此处省去2个小时。。。


总算编译过去,

接下来,新建wpf core客户端

image.png

经过了大批的修改,效果如下


32.gif

推荐您阅读更多有关于“wpfcore,”的文章

猜你喜欢

已有1位网友发表了看法:

1#十年  2019-11-13 17:47:38 回复该评论

默默的支持

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

抖音号:wpfui,可以看到我的很多作品效果

AYUI8社区版Github地址:前往获取

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF,目前工作繁忙,不接任何活

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

兼容XP到win10,vs2015/2017/2019,最新AYUI:7.6.5.5

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表