我刚刚开始为 Windows Phone 8 开发应用程序,我对在这种设备上运行的不同运行时环境有几个问题。我可能没有正确搜索网络,因为我无法找到任何我完全理解的答案或提供我需要的详细信息(如果您有任何链接,非常感谢任何分享!)。
1) 来自 C++ 和 C# 桌面世界,我真的很想知道 Windows Phone 8 操作系统上实际运行的本机和 CLR 运行时的“种类”。例如,桌面上最常见的 C++ 运行时是 Visual C++ 编译器链接到的 MSVCR,或者是成熟的 .NET 框架 CLR 实现,即许多 C# 应用程序正在引用。Windows CE 系统有它的 mscorlib resp。.NET 紧凑型框架。这些事情对我来说是完全清楚的。
但据我所知,Windows Phone 8 操作系统在 WinRT 和 CoreCLR 上运行(我只是在某种程度上听说过 Silverlight)。这是一个正确的说法吗?
2) 如果我的第一个假设是正确的:我有一个 C# 应用程序,它 P/Invokes 本机 C++ DLL - 它们的代码都可以在 Dekstop-Windows 和 WindowsCE 之间移植(其中 C++ DLL 被编译为 x86/x64/ARM ,取决于目标系统)。我是否能够以某种方式仅“定位” WP8 并在这样的设备上运行该应用程序而无需进行严重的代码更改?或者必须有一个额外的 WP8 端口?在不了解系统运行时环境的情况下,我自己真的无法回答这个问题:(
我无法完全掌握所有这些世界之间的兼容性和差异,尤其是因为我不太了解 WinRT/CoreCLR 以及它们是否真的在 Windows Phone 8 中发挥作用。我知道这些都是完全不同的技术,不用担心,但我想知道它们在整个画面中的位置。有时我对微软抛出的所有不同的框架和技术感到不知所措,我希望这是可以理解的。
感谢您的任何回答!