Cargue la biblioteca UWP en la aplicación .NET Framework

Hay una serie de artículos (proyecto de código, blog1, blog2, foro) para usar la biblioteca WinRT en la aplicación de consola .Net Framework en Windows 8.

Lo probé con UWP en Windows 10. Pero no lo logré. Luché por compilar sin error, pero ocurrióBadImageFormatException en tiempo de ejecución.

Esto es lo que hice.

Crear aplicación de consola con destino .NET Framework 4.6.1.Edite el archivo .csproj para agregar<TargetPlatformVersion>10.0</TargetPlatformVersion>Referencia tres bibliotecas como a continuación.c: \ Archivos de programa (x86) \ Kits de Windows \ 10 \ UnionMetadata \ Windows.winmd (muestra Windows Runtime 1.4)c: \ Archivos de programa (x86) \ Ensamblados de referencia \ Microsoft \ Framework.NETCore \ v4.5.1 \ System.Runtime.WindowsRuntime.dll (muestra 4.0.10.0)c: \ Archivos de programa (x86) \ Assemblies de referencia \ Microsoft \ Framework.NETCore \ v4.5.1 \ System.Runtime.InteropServices.WindowsRuntime.dll (muestra 4.0.0.0)

A diferencia de los ejemplos de Windows 8, hay un error cuandoSystem.Runtime.dll es referenciado

El código es el siguiente. Tenga en cuenta que el código es deForo de Microsoft.

class Program
{
    static void Main(string[] args)
    {

        Geolocator locator = new Geolocator();
        var status = Geolocator.RequestAccessAsync();

        if (status != null)
        {
            Console.WriteLine("not null");
            Task.Run(async () =>
            {
                Geoposition pos = await locator.GetGeopositionAsync();
                Console.WriteLine(pos.Coordinate.Accuracy);
            });
        }
        else
        {
            Console.WriteLine("null");
        }
        Console.ReadLine();
    }

La compilación está bien ynot null se muestra en la consola. Entonces, la invocación de la propia biblioteca parece estar bien. PeroGetGeopositionAsync porqueBadImageFormatException.

El detalle del mensaje de excepción es el siguiente.

Excepción lanzada: 'System.BadImageFormatException' en mscorlib.dll

Información adicional: No se pudo cargar el archivo o ensamblado 'System.Runtime.WindowsRuntime, Version = 4.0.10.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' o una de sus dependencias. Los ensamblados de referencia no deben cargarse para su ejecución. Solo se pueden cargar en el contexto del cargador solo Reflection. (Excepción de HRESULT: 0x80131058)

Ya intenté (1) cambiar la configuración de compilación ax86 / x64 / AnyCPU (2) y para establecerCopiar local verdadero a todas las referencias, pero se produjo el mismo error.

En mi opinión, esta excepción diceSystem.Runtime.WindowsRuntime intenta cargar internamente alguna biblioteca dependiente pero no sé qué es.

Respuestas a la pregunta(2)

Su respuesta a la pregunta