Ear*_*rlz 13 .net assemblies windows-8 windows-runtime .net-4.5
这实际上只是一个好奇心问题.我处理查看程序集和原始IL的类型.Windows 8确实在我正在实现的东西中扭曲.我发现WinRT和非WinRT框架程序集共享相同的完全限定名称.
因此,不可能客观地判断程序集是否依赖于框架程序集的WinRT或非WinRT版本(是的,可以同时使用它们).这些组件在布局和实现的类型方面有很大的不同.
为什么他们在构建WinRT程序集时不更改公钥令牌或版本号?
WinRT 有一组投影,其中一个旨在以“.net 框架”友好方式投影 winrt api,另一个投影用于 Cpp 和 html/js 堆栈。
\n\n事实上,如果有人想要创建新的投影来支持其他语言和框架,他们就可以做到。
\n\n使事情看起来像 .net 框架有一组重要的目的:
\n\n已经了解 .net 开发的 Firstable 开发人员不需要从头开始,winrt 看起来与普通的 .net 框架程序非常相似。
\n\n然后存在大量独立于平台的 .net 框架代码,因此可以在任何仅支持框架核心例程子集的环境中重新编译或重用这些代码,这是一个关键主题,因为这提供了一种简化的方式来提供 .net .net 开发人员的功能。
\n\n最后但并非最不重要的一点是,当前的 .net 开发人员已经创建了大量代码,并且微软在创建“.net”投影时的一项承诺是提供与已创建的 .net 例程的某种兼容性,这就是解释,因为某些程序集保留了一些存根和看起来像 .net 框架对应的签名。
\n\n它们是参考程序集,这意味着类似于“代理程序集”。代理必须在某种程度上看起来像真实对象,但不是真实对象的完整图像。您必须清楚,Winrts .net 投影并不是完整的 .net 参考程序集,WinRT 中没有 .net 框架,只是一小部分功能。这就是原因,因为您不\xc2\xb4t 具有所有类型,当然您也不具有所有方法或属性。
\n\n没有其他产品,我的意思是没有其他框架或其他程序集做同样的事情,只是元数据的代理。不是其他 .Net Fx 版本,绝对不是。是为了在运行时和其他跨越某些平台边界的运行时之间建立桥梁而创建的程序集。所以我认为使用相同名称的设置 FQN 是完全可以接受的,因为在将来的版本中可能可能存在另一个 .net fx 版本的引用程序集。我相信使用相同的程序集名称和版本是了解您引用的 .net fx 程序集的快捷方式,顺便说一句,保留程序集名称“兼容层”
\n| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |