我非常了解什么是 vanilla Win32 本机 DLL(没有 UWP、没有 RT、没有 CLR)。我也知道基于 C++/CLI 的 DLL 支持以任何语言编写的 .NET 兼容程序。
令我困惑的是这两种 UWP DLL 类型:
创建基于 UWP 组件的 DLL 时,它会添加(允许)导出类(问题的一部分是:它们是 CLR 投诉类吗?)。Dependency Walker 显示它链接到一些非标准/非本机 DLL。
创建基于 UWP CX 的 DLL 时,它只是一个本机 DLL。Dependency Walker 显示它链接到 Kernel32.DLL 等。
由此,我得出结论:
那么这两种新类型的 UWP DLL 究竟是什么?
它们都是本机代码。C++/CX 与 C++/CLI 共享一些语法,但它与 .NET 没有关系。Windows 运行时组件是一个可重复使用的组件,可以从任何支持的语言(C++、C#、VB、JavaScript)的其他应用程序中调用。另一个项目只是一个独立的应用程序。
请注意,CLR 依赖项仅存在于调试版本中(由于某些 XAML 调试依赖项);在发布版本中没有 CLR 依赖项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句