为什么.NET中metro样式应用程序的基元类型在引用程序集System.Runtime中



我只是想更深入地了解.NET 4.5/.NET 4.5 for Metro风格的应用程序/WinRT之间的关系。

我认为.NET Metro的引用程序集(位于Program Files(x86)\Reference Assemblys\Microsoft\Framework.NETCore\v4.5中)定义了引用程序集System.Runtime中的System.String类型。但是,"正则".NET 4.5的引用程序集在mscorlib中定义System.String类型,而System.Runtime引用程序集为空。

首先,我认为这可能是因为基于metro的应用程序可能使用了不同的字符串实现,这对于与本机WinRT层通信是必要的。然而,我在控制台应用程序和Metro Style应用程序中尝试了以下代码:

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

你猜怎么着:在这两种情况下,字符串的宿主程序集都是相同的mscorlib。

那么,为什么微软没有像过去那样简单地在mscorlib中定义所有这些基元类型呢?

谢谢,TH

它不能是同一个库。因为经典的框架不适用于ARM架构。

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

最新更新