C# 为什么.NET中的metro风格应用程序的基元类型位于参考汇编System.Runtime中?

C# 为什么.NET中的metro风格应用程序的基元类型位于参考汇编System.Runtime中?,c#,.net,windows-runtime,C#,.net,Windows Runtime,我只是想深入探讨一下.NET 4.5/.NET 4.5 for Metro风格的应用程序/WinRT之间的关系 我认为.NET Metro的引用程序集(位于程序文件(x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5)在引用程序集System.Runtime中定义System.String类型。 但是,“regular.NET 4.5”的引用程序集在mscorlib中定义System.String类型,而System.Runtim

我只是想深入探讨一下.NET 4.5/.NET 4.5 for Metro风格的应用程序/WinRT之间的关系

我认为.NET Metro的引用程序集(位于程序文件(x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5)在引用程序集System.Runtime中定义System.String类型。 但是,“regular.NET 4.5”的引用程序集在mscorlib中定义System.String类型,而System.Runtime引用程序集为空

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

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

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

那么,为什么微软不像以前那样简单地在mscorlib中定义所有这些基本类型呢

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


检查此项以了解有关Metro UI中[TypeForwardedTo]正在工作的类型的详细信息。博客帖子如下: