Reputation: 18431
I am very much aware of what is a vanilla Win32 native DLL (no UWP, no RT, no CLR). I'm also aware of C++/CLI based DLL which are to support the .NET compliant programs written in any language.
What's confusing me is these two UWP DLL types:
When a UWP component-based DLL is created, it adds (allows) classes to be exported (part of the question is: Are they CLR complaint classes?). Dependency Walker shows that it is linked to some non-standard/non-native DLLs.
When a UWP CX based DLL is created, it just a native DLL. Dependency Walker shows it is linked to Kernel32.DLL etc.
By this, I conclude that:
So then what exactly are these two new types of UWP DLLs?
Upvotes: 1
Views: 816
Reputation: 12019
Both of them are native code. C++/CX shares some syntax with C++/CLI, but it has no ties to .NET. A Windows Runtime Component is a re-usable component that can be called from other applications in any supported language (C++, C#, VB, JavaScript). The other project is just a stand-alone app.
Note that the CLR dependencies are only present in Debug builds (due to some XAML debug dependencies); in Release builds there are no CLR dependencies.
Upvotes: 2