No se puede cargar el componente WinRT a menos que haga referencia al proyecto

Me estoy topando con un problema extraño. Creé un Componente de tiempo de ejecución de Windows (para la Tienda Windows) que hace que algunos códigos C / C ++ heredados estén disponibles para .NET a través de algunas clases de reinicio de C #

Escribí una aplicación de tienda de arnés de prueba (en lo sucesivo, "prueba1") que hace referencia al WRCproyecto (Ambos proyectos en la misma solución). Llama al componente y todo funciona bien.

A continuación tomo los siguientes archivos de salida del proyecto WRC:

MyWrtComponent.dll
MyWrtComponent.exp
MyWrtComponent.pdb
MyWrtComponent.pri
MyWrtComponent.winmd

... y trate de usarlos desde otro proyecto de aplicación de la Tienda ("test2"). En este proyecto, en lugar de hacer referencia al proyecto MyWrtComponent, agrego una referencia al archivo .winmd. Todo funciona bien, pero cuando ejecuto la aplicación test2 obtengo una excepción System.IO.FileNotFound de mscorlib tan pronto como intento usar una de las clases de C # implementadas en MyWrtComponent:

at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
at MyWrtComponent.MyWrtClass..ctor()

The specified module could not be found.
(Exception from HRESULT: 0x8007007E)

El uso de la versión de compilación frente a la depuración de MyWrtComponent no hace ninguna diferencia.

Al ejecutar ProcMon en test2, veo varios intentos fallidos de cargar vccorlib120_app.DLL (o vccorlib120d_app.DLL si estoy creando una depuración):

QueryOpen   F:\test2\bin\Debug\AppX\vccorlib120d_app.DLL    NAME NOT FOUND
QueryOpen   F:\test2\bin\Debug\AppX\vccorlib120d_app.DLL    NAME NOT FOUND
CreateFile  C:\Windows\SysWOW64\vccorlib120d_app.DLL    NAME NOT FOUND

He confirmado que este archivo no existe en mi carpeta C: \ Windows \ SysWOW64. No sé si eso es relevante para mi problema.

Cuando ejecuto test1, se buscan diferentes ubicaciones y se encuentra el archivo:

QueryOpen   F:\test1\bin\Debug\AppX\vccorlib120d_app.DLL    NAME NOT FOUND
CreateFile  C:\Program Files\WindowsApps\Microsoft.VCLibs.120.00.Debug_12.0.20827.3_x86__8wekyb3d8bbwe\vccorlib120d_app.dll SUCCESS

Comparé el bin \ Debug \ AppxManifest.xml de ambos proyectos de prueba y noté una diferencia importante; test1 tiene lo siguiente y test2 no:

<Dependencies>
  <PackageDependency Name="Microsoft.VCLibs.120.00.Debug" MinVersion="12.0.20827.3" />
</Dependencies>

Si agrego estas tres líneas a la salida generada de test2 y ejecuto la aplicación, funciona, pero por supuesto no es una solución real.

¿Alguien entiende lo que está pasando aquí? ¿MyWrtComponent tiene una dependencia que de alguna manera no se está comunicando, o se supone que debo hacer algo para empaquetar vccorlib120d_app.DLL junto con mi componente de tiempo de ejecución, o ...?

Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta