.net – 为什么WinRT框架程序集与他们(不同的)非WinRT对应的完全限定名称相同?

这真的只是一个好奇的问题.我处理在组件和原始IL之间查找类型. Windows 8真的在我正在实施的东西中变得扭结.我发现WinRT和非WinRT框架程序集共享相同的完全限定名称.

所以,不可能客观地告诉一个程序集是否依赖于WinRT或非WinRT版本的框架程序集(是的,它可以同时使用).这些组件在布局和实现的类型方面差别很大.

为什么在构建WinRT程序集时没有更改公钥令牌或版本号?

WinRT有一套预测,其中之一是将winrt apis设计为“.net框架”友好的方式,另外一个预测用于Cpp和html / js堆栈.

事实上,如果有人想要克服新的预测来支持其他语言和框架,他们可以做到这一点.

使东西看起来像.net框架有一个重要的目的:

已知的.net开发人员的开发人员不需要从scracth开始,winrt看起来就像一个正常的.net框架程序.

然后存在很多平台独立的.net框架代码,所以这个代码可以在支持框架核心例程的一个子集的任何环境中重新编译或重新使用,这是一个关键的主题,因为这提供了一个简化的方法来给.net功能到.net开发人员.

最后但并非最不重要的是,当前.net开发人员已经创建了大量代码,并且在创建“.net”投影时,微软承诺提供了一些与已创建的.net例程的兼容性,这是因为某些程序集有一些存根和签名作为.net框架对应.

它们是引用程序集,这意味着像“代理程序集”.代理必须看起来像真实对象,在某种程度上而不是真实对象的完整图像.您必须清楚Winrts .net投影不是关于完整的.net参考程序集,WinRT中没有.net框架只是一小部分功能.这是因为你没有所有的类型,当然你没有所有的方法属性.

没有其他产品,我的意思是没有其他框架或其他程序集做同样的事情,是一个代理只是为了元数据.不是其他.Net Fx版本,绝对不是.是一个组装,以建立一个运行时间和其他交叉点之间的一个平台边界的桥梁.所以我认为是完全可以接受的设置FQN具有相同的名称,因为在将来的版本可能会存在另一个参考程序集到另一个.net fx版本.我相信使用相同名称和版本是一个快捷方式,知道.net fx程序集正在引用,并且btw保留一个程序集名称“compat layer”

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...