2015-02-03 15 views
5

Ich verwende VS2015 CTP5 und ich verweise auf eine Legacy-Klassenbibliothek mit 4.5.1 kompiliert. Während der Kompilierung erhalte ich folgende Warnung:Legacy Assembly Referenz Fehler in asp.net-vnext

Die primäre Referenz "D: \ components.dll" konnte nicht aufgelöst werden, da sie gegen das Framework ".NETFramework, Version = v4.5.1" erstellt wurde. Dies ist eine höhere Version als das derzeit ausgerichtete Framework ".NETFramework, Version = v4.5".

Hier ist meine project.json nach

"frameworks": { 
    "aspnet50": { 
     "dependencies": { 
      "components": "1.0.0-*" 
     } 
    } 
}, 
+0

Was ist Ihr vnext-Projekttyp? Es wird deutlich, dass Ihr derzeitiges Anwendungsziel 4,5 ist und Ihre Klasse lib ist 4,5.1 Wenn Sie vnext Projekt mit ctp5 dann sollte es 4,6 – dotnetstep

Antwort

2

Da die "Komponente" Bibliothek des Referenz Zugabe für .net wird bauen 45 und Vorausgesetzt, dass Sie diese Bibliothek in einer älteren Version von Visual Studio erstellen, wird es in aspnetcore5 nicht funktionieren, wird aber auf aspnet5 funktionieren (das sind die neuen Versionen von .net). Wenn Sie den Fehler loswerden und Ihre Komponentenbibliothek weiterhin verwenden möchten, müssen Sie den aspnetcore5 json-Knoten aus der Datei project.json entfernen, aber das von Ihnen erstellte Projekt ist nicht mit aspnetcore5 kompatibel. Daher sollte Ihre project.json-Datei für den Framework-Abschnitt wie folgt aussehen.

"frameworks": { 
    "aspnet50": { 

     "frameworkAssemblies": { 
      "System": "4.0.0.0" 
     }, 
     "dependencies": { 


     } 
    },  
    "net45": { 
     "dependencies": { "components": "1.0.0"}, 
     "frameworkAssemblies": { } 

    } 

} 

Und Ihre Referenz sollte wie folgt aussehen, ich habe Warnung neben der Komponentenbibliothek singen, weil ich nicht, dass in meinem Code.

Sie können diese Frage betrachten, um weitere Informationen zu erhalten.

Question 1, Question 2

1

Fügen Sie die Bibliothek zu frameworkDependencies nicht dependencies

"net45": { 
    "frameworkAssemblies": { 
     "components": "1.0.0" 
    }, 
    "dependencies": { 
     // NuGet packages go here 
    } 
+0

Victor, ich denke, Sie müssen verschieben "Komponenten": "1.0.0" zu den Abhängigkeiten Knoten, wenn ich nicht falsch bin FrameworkAssemblies sind nur für .NET-Referenz und Abhängigkeiten sind für alle Nuget oder Projektreferenz. –

0

Für mich keine der oben genannten gearbeitet und nach vielen Stunden verbringen zu untersuchen ... ich endlich eine Lösung gefunden!

Ich muss ein neues Paket in der NuGet Package Explorer für meine DLL erstellen, speichern und exportieren Sie es in einen lokalen Ordner (verwenden Sie die Datei-> Speichern und Datei-> Export-Befehle). Dann deklariere mein lokales Repository (Ordner) zu Visual Studio, gehe zu Extras-> Optionen-> NuGet Package Manager-> Paketquellen und füge einen Datensatz für mein lokales Repository ein - siehe Bild unten.

Package Sources in VS2015

Verwandte Themen