2015-02-03 13 views
5

Używam CTP5 VS2015 i odwołuję się do starszej biblioteki klas skompilowanej z 4.5.1. Podczas kompilacji otrzymuję to ostrzeżenie:Błąd odwołania do starszego zestawu w asp.net-vnext

Pierwotne odniesienie "D: \ components.dll" nie mogło zostać rozwiązane, ponieważ zostało zbudowane w oparciu o framework ".NETFramework, Version = v4.5.1". Jest to wersja wyższa niż aktualnie docelowy framework ".NETFramework, Version = v4.5".

Oto moja project.json po dodaniu odniesienia

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

Jaki jest twój projekt typu vnext? Wyraźnie oznajmia, że ​​twój obecny cel aplikacji wynosi 4,5, a twoja biblioteka klasy 4.5.1, jeśli masz projekt vnext z ctp5, to powinno być 4.6 – dotnetstep

Odpowiedz

2

Od "element" biblioteki jest zbudować NET 45 i zakładając, że zbudujesz tę bibliotekę w starszej wersji visual studio, nie będzie działać w aspnetcore5, ale będzie działać na aspnet5 (to jest nowa wersja dla .net). jeśli chcesz pozbyć się błędu i nadal używać biblioteki komponentów, musisz usunąć węzeł json aspnetcore5 z pliku project.json, ale budowany projekt nie będzie kompatybilny z programem aspnetcore5. Zatem twój plik project.json dla sekcji frameworks powinien wyglądać następująco.

"frameworks": { 
    "aspnet50": { 

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


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

    } 

} 

A twój odnośnik powinien wyglądać, mam ostrzeżenie śpiewać obok biblioteki komponentów, ponieważ nie mam tego w moim kodzie.

Możesz obejrzeć to pytanie, aby uzyskać więcej informacji.

Question 1, Question 2

1

Dodaj bibliotekę do frameworkDependencies nie dependencies

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

Victor, myślę, że potrzebujesz przenieść "komponenty": "1.0.0" do zależności węzeł, jeśli się nie mylę, frameworkAssembly są przeznaczone tylko dla odniesienia .NET i zależności są dla każdego odniesienia do nugetu lub projektu. –

0

Dla mnie żadna z powyższych pracował i po spędzeniu wielu godzin badających ... I w końcu znalazłem rozwiązanie!

Muszę utworzyć nowy pakiet w NuGet Package Explorer dla mojej biblioteki dll, zapisać i wyeksportować do lokalnego folderu (użyj poleceń Plik-> Zapisz i Plik-> Eksportuj). Następnie zadeklaruj moje lokalne repozytorium (folder) do Visual Studio, przejdź do Tools-> Options-> NuGet Package Manager-> Package Sources i wstaw rekord dla mojego lokalnego repozytorium - patrz obrazek poniżej.

Package Sources in VS2015

Powiązane problemy