2016-07-30 19 views
1

Wie hier genau beschrieben Cannot reference .NET Core library from UWP, ich empfange die gleiche Ausnahme.UWP - FileLoadException

"System.IO.FileLoadException" in Project.exe

Exception

UWP-Projekt vorhanden

{ 
    "dependencies": { 
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2", 
    "Microsoft.Xaml.Behaviors.Uwp.Managed": "1.1.0", 
    "Newtonsoft.Json": "9.0.1", 
    "Template10": "1.1.11" 
    }, 
    "frameworks": { 
    "uap10.0": { "imports": "netstandard1.6" } 
    }, 
    "runtimes": { 
    "win10-arm": {}, 
    "win10-arm-aot": {}, 
    "win10-x86": {}, 
    "win10-x86-aot": {}, 
    "win10-x64": {}, 
    "win10-x64-aot": {} 
    } 
} 

NET-Kernprojekt vorhanden

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

Eine weitere seltsame Sache passiert, ist dies:

Strange inline error Resharper

Hinweise

Für meine Core-Dll habe ich nicht ein Nuget-Paket, aber verwiesen es wie in der alten Tage.

Das Projekt ist nichts besonderes. Ich habe die Template 10 pack verwendet und alle Pakete über Nuget aktualisiert.

Ohne Bezug auf meine eigene .dll, alles funktioniert und keine Fehler knallen.

Muss ich wirklich ein Paket für alle und alles, was ich entwickeln werde und möchte in einer separaten .dll Quelle?

+0

Haben Sie zufällig eine Lösung für dieses Problem gefunden? – Tulika

Antwort

1

netstandard1.6 wird von UWP nicht unterstützt. Nur netstandard1.4 ist. Stellen Sie sicher, dass die Klassenbibliothek auf netstandard1.4 abzielt, wenn Sie sie in UWP verwenden möchten.

Wenn hinzugefügt Sie "imports": "netstandard1.6" zum UWP Projekt, das Sie eine Erklärung stellen, für die Sie über compatiblility Regeln nicht zu kümmern und Sie gehen zu versuchen, den netstandard1.6 Vermögenswert zu nutzen, auch wenn es nicht von Ihrem Rahmen unterstützt wird.

+0

Also im Grunde sagen Sie, ich kann UWP nicht mit .NET Core 1.0 verwenden? Aber das stimmt nicht mit der Tatsache überein, dass ich UWP-App mit diesem Framework kompilieren kann: '" frameworks ": { " uap10.0 ": {" imports ":" netstandard1.6 "} },' – lokusking

+0

.NET Core 1.0 unterstützt auch netstandard1.4, also wenn Sie eine portable Bibliothek erstellen, die netstandard1.4 ist, wird es in beiden funktionieren. Ich wiederhole, dass die Verwendung von "Importen" keine Unterstützung darstellt. Das sagt NuGet nur, dass du es ausprobieren willst und ob es funktioniert. NuGet wird zuerst versuchen, das richtige Asset aus Paketen zu finden, die das Framework unterstützen, auf das Sie abzielen (uap10.0). Nur wenn es kein unterstütztes Asset findet, wird es das importierte Framework berücksichtigen. Sie können * alles * in Imports einfügen, einschließlich 'net46', was Ihnen zum Beispiel erlauben würde, eine Bibliothek zu verwenden, die von WPF abhängig ist. – TheESJ

+0

Wenn Sie eine Problemumgehung dafür als Antwort zur Verfügung stellen könnten, wäre ich ** sehr glücklich, da ich NETStandard 1.4 nicht als Downgrade innerhalb von Visual Studio auswählen kann. Weder ich kann es auf Nuget-Web finden. Zur Klärung: Ich habe gerade mit UWP herumgespielt und gedacht, * Hey, versuch es mal mit .Net Core *, also ist das ein triviales Spielprojekt – lokusking