Я просто попытался немного углубиться в связь между .NET 4.5 / .NET 4.5 для приложений в стиле Metro / WinRT.
Я понял, что эталонные сборки для .NET Metro (которые находятся в Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETCore \ v4.5) определяют тип System.String в Reference Assembly System.Runtime.Однако ссылочные сборки для «обычного» .NET 4.5 определяют тип System.String в mscorlib, тогда как ссылочная сборка System.Runtime пуста.
Сначала я подумал, что это может быть вызвано тем, что приложения на основе метро могут использоватьдругая реализация строки, которая необходима для связи с собственным уровнем WinRT.Однако я попробовал следующий код в консольном приложении, а также в приложении Metro Style:
System.String k = "abc";var m = k.GetType (). AssemblyQualifiedName.
И угадайте, что: В обоих случаях сборка для размещения строки является одним и тем же mscorlib.
Так почему Microsoft просто не определила всеэти примитивные типы в mscorlib, как они всегда привыкли?
Спасибо, TH