上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年当我们在谈.NET Core跨平台时我们在谈什么.pdf

编号:98013 PDF 41页 13.44MB 下载积分:VIP专享
下载报告请您先登录!

2019年当我们在谈.NET Core跨平台时我们在谈什么.pdf

1、.NET Core 2019China.NET Conf 2019当我们在谈.NET Core跨平台时我们在谈些什么?一个问题针对.NET Standard生成的程序集为什么能够跨平台执行?三篇文章历史、现状与未来历史枷锁复用之殇全新布局历史、现状与未来历史枷锁复用之殇全新布局.NET Framework=FCL+CLRFramework LibraryWindows FormsASP.NETWPFWCFWFData ServicesADO.NETEntity FrameworkLINQBasic Class Library(BCL)Common Language Runtime(CLR)Ap

2、plication Model(AppModel)Basic Class Library(BCL)Common Language Runtime(CLR)发展的历程不断膨胀的BCL1.01.12.03.03.54.04.54.5.14.5.24.64.7Application Model(AppModel)Basic Class Library(BCL)Common Language Runtime(CLR)“裁剪”的必要性Application Model(AppModel)Basic Class Library(BCL)Common Language Runtime(CLR)Applica

3、tion Model(AppModel)Common Language Runtime(CLR)BCL“跨平台”的.NET Framework.NET FrameworkWindows PhoneSilverlightWindows Store.NET Micro FrameworkMono完全独立,各自为政Application Model(AppModel)Basic Class Library(BCL)Common Language Runtime(CLR)历史、现状与未来历史枷锁复用之殇全新布局复用的难题Shared CodeShared Project 源代码复用Shared.shp

4、rojFoo.csBar.csApp1.csprojApp2.csprojBCL(Windows Phone)BCL(Silverlight)C#C#C#Baz.csC#Foo.csC#Bar.csC#Baz.csC#Foo.csC#Bar.csC#Baz.cs更加理想的复用方式 程序集复用Shared.dllPCL(Portable Class Library)PCL ProfilesACBDProfile 4(A+D)Profile 2(A+B)Profile 3(A+C)Profile 1(A)问题1:程序集不一致Foundation,Version=1.0.0.0,Culture=ne

5、utral,PublicKeyToken=b03f5f7f11d50a3aShared.dllApp1App2Foundation,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3aFoundation,Version=1.0.0.0,Culture=neutral,PublicKeyToken=c05f5f6f71d50t3tRetargetable AssemblyShared.dllFoundation.dll(Retargetable)AssemblyFlagsAttributeAttributeUsage(A

6、ttributeTargets.Assembly,Inherited=false)public sealed class AssemblyFlagsAttribute:Attributepublic int AssemblyFlags get;public AssemblyFlagsAttribute(AssemblyNameFlags assemblyFlags);Flagspublic enum AssemblyNameFlagsNone=0,PublicKey=1,EnableJITcompileOptimizer=0 x4000,EnableJITcompileTracking=0 x

7、8000,Retargetable=0 x100问题2:跨程序集类型转移Foo,Version=1.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3aShared.dllApp1App2Bar,Version=1.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3aBaz,Version=1.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3aclass FoobarbazDemoclass Programstatic void M

8、ain()Console.WriteLine(typeof(string).Assembly.FullName);Console.WriteLine(typeof(Func).Assembly.FullName);Runtime=v2.0.50727(.NET 3.5)mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089Runtime=v4.0(.NET

9、4)mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089跨程序集类型的转移mscorlib,Version=2.0.0.02.03.5Funcmscorlib,Version=2.0.0.0System.Core,Version=3.5.0.04.0mscorlib,Version=4.0.0.0如何定位转移的类型?App.exeSystem.Core,Vers

10、ion=3.5.0.0System.Core,Version=3.5.0.0mscore,Version=4.0.0.0FuncRuntime=v4.0FuncSystem.Core.dllTypeForwardedToAttributeAttributeUsage(AttributeTargets.Assembly,AllowMultiple=true,Inherited=false)public sealed class TypeForwardedToAttribute:Attributepublic Type Destination get;public TypeForwardedToA

11、ttribute(Type destination);历史、现状与未来历史枷锁复用之殇全新布局.NET Core层次结构RuntimeCoreFXAppModelASP.NET CoreWindows FormsWPFUWPCoreCLRCoreCLRCoreCLRSystem.CollectionsSystem.ConsoleSystem.DataSystem.DiagnosticsSystem.DirectoryServicesSystem.DrawingSystem.GlobalizationSystem.IOSystem.NetSystem.NumericsSystem.Reflect

12、ionSystem.RuntimeSystem.SecuritySystem.TextSystem.ThreadingSystem.XmlSystem.Private.CoreLib.dllCoreFXAppModelASP.NET CoreWindows FormsWPFUWPRuntimeCoreCLRCoreCLRCoreCLRSystem.Private.CoreLib.dll大一统的.NETASP.NETWPFWindows FormsASP.NET CoreWPFWindows FormsUWPiOSOS XAndriod.NET Framework.NET CoreXamarin

13、.NET Standard.NET StandardShared.dllnetstandard.dllnetstandard.dllnetstandard.dllnetstandard.dll.NET Framework.NET Core.NET CoreDemopublic class Utilspublic static void PrintAssemblyNames()Console.WriteLine(typeof(Dictionary).Assembly.FullName);Console.WriteLine(typeof(SortedDictionary).Assembly.Ful

14、lName);class Programstatic void Main()Console.WriteLine(.NET Framework 4.7.2);Utils.PrintAssemblyNames();class Programstatic void Main()Console.WriteLine(.NET Core 3.0);Utils.PrintAssemblyNames();输出结果.NET Framework 4.7.2mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089System,V

15、ersion=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089.NET Core 3.0System.Private.CoreLib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798eSystem.Collections,Version=4.1.1.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a类型转移-.NET FrameworkShared.dll.assembly extern netstandard

16、.publickeytoken=(CC 7B 13 FF CD 2D DD 51).ver 2:1:0:0.assembly Sstandard.dll.assembly extern mscorlib.publickeytoken=(B7 7A 5C 56 19 34 E0 89).ver 0:0:0:0.assembly extern System.publickeytoken=(B7 7A 5C 56 19 34 E0 89).ver 0:0:0:0.class extern forwarder System.Collections.Dictionary2.assembly extern

17、 mscorlib.class extern forwarder System.Collections.Generic.SortedDictionary2.assembly extern System类型转移-.NET Corenetstandard.dll.assembly extern System.Collections.publickeytoken=(B0 3F 5F 7F 11 D5 0A 3A).ver 0:0:0:0.class extern forwarder System.Collections.Generic.Dictionary2.assembly extern Syst

18、em.Collections.class extern forwarder System.Collections.Generic.SortedDictionary2.assembly extern System.Collections.assembly extern System.Private.CoreLib.publickeytoken=(7C EC 85 D7 BE A7 79 8E).ver 4:0:0:0.class extern forwarder System.Collections.Generic.Dictionary2.assembly extern System.Private.CoreLibSystem.Collection.dll类型转移Shared.dllSystem.Collection.dllnetstandard.dllnetstandard.dllmscorlib.dllSystem.dllSystem.Private.CoreLib.dllDictionaryDictionarySortedDictionary.NET Framework.NET Corenetstandard.dll展望未来谢谢观赏

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年当我们在谈.NET Core跨平台时我们在谈什么.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部