1

我知道一些 Microsoft 员工是 StackOverflow 的成员,例如著名的 Raymond Chen 和 Larry Osterman(Vista 的音频堆栈和每个应用程序声音控制机制的工程师),我们知道 Jeff Atwood 也在这里。所以也许我们可以直接从马的嘴里学到一些关于核心 Windows 组件中托管代码的经验。

我已经下载了所有泄露的 Windows Longhorn 版本(来自“显而易见的”来源),并使用“dotPeek”和“.net OR not”等工具四处寻找托管代码。我发现在 2004 年 8 月的“longhorn 重置”之后,托管代码在每次构建中都在下降。但我什至发现用托管代码编写的“Windows 电影制作者”。

那么,问题来了:在托管代码中编写核心操作系统组件有哪些困难?

4

1 回答 1

1

我敢肯定还有其他考虑因素,但这是一个相当明显的考虑因素:

托管代码组件需要特定版本的托管运行时,并且,IIRC,一个进程中只能有一个托管运行时实例。马上,这排除了对共享组件使用托管代码 - 因为一个应用程序及其一个或多个组件可能需要不同版本的运行时,并将其使用限制为应用程序样式的组件。

还要记住,Windows 的更多部分实际上是“共享组件”,而不是显而易见的。虽然您可能将资源管理器视为一种应用程序,但一旦应用程序打开文件/打开通用对话框,它现在就会在其中包含一堆资源管理器组件,列出可用的文件和目录。

于 2012-06-11T00:59:57.847 回答