为什么.NET Metro风格应用程序中的原始类型在参考程序集System.Runtime中?

4

我试图深入了解.NET 4.5/.NET 4.5 for Metro-style apps/WinRT之间的关系。

我的结论是,.NET Metro的参考程序集(位于Program Files(x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5)在Reference Assembly System.Runtime中定义了System.String类型。然而,“常规”的.NET 4.5的参考程序集将System.String类型定义在mscorlib中,而System.Runtime参考程序集为空。

起初,我认为这可能是因为基于Metro的应用程序可能会使用与本地WinRT层通信所必需的不同字符串实现。但是,我在控制台应用程序和Metro Style 应用程序中尝试了以下代码:

System.String k = "abc"; var m = k.GetType().AssemblyQualifiedName.

猜猜看:在两种情况下,字符串的主机程序集都是相同的mscorlib。

那么为什么Microsoft没有像以前一样在mscorlib中定义所有这些基本类型呢?

谢谢, TH


1
这就是 [TypeForwardedTo] 的工作原理。博客文章在这里:http://www.wintellect.com/CS/blogs/jeffreyr/archive/2011/09/20/core-net-types-usable-from-a-metro-style-application.aspx - Hans Passant
1个回答

0

这不能是同一个库。因为经典框架在ARM架构上无法工作。

请查看视频,了解Metro UI中的类型详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接