There are two kinds of dll project in vs2012,metro dll project and WinRT component project? What scenario should I create a metro dll and when could I create a WinRT component?
A DLL project is a classic DLL which can be called from a C++ app or p-invoked from a .Net app. It cannot be used at all in a JavaScript app. A Windows Runtime Component is a component which can be projected in to any of the languages used for Metro style
apps including JavaScript and .Net as well as C++.