Twój projekt nie odwołuje się do struktury „.NETFramework, Version = v4.5”.
Używam VS 2015.
Twój projekt nie odnosi się do ".netframework, wersji = 4,5"
struktura. Dodaj łącze do „.NETFramework, Version = 4.5” w
sekcji „frameworks” pliku project.json, a następnie ponownie uruchom pakiet NuGet
przywróć.
Ten błąd pojawia się w moich warstwach dostępu do danych i logiki biznesowej wkrótce po dodaniu MVC do mojej warstwy. Do tego czasu wszystko szło dobrze, ale nie wiem, co spowodowało ten błąd. Oto mój project.json:
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "", "frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Oto, czego próbowałem:
- Zastąpienie „dotnet5.4” „net451” (i usunięcie go), jak pokazano w ta odpowiedź https://coderoad.ru/34211191/ .
Rezultatem jest ten sam błąd.
<ol start="2">
[*]
Zastąpienie „dotnet5.4” „net45” i pozostawienie „net451”. Powoduje to nowy błąd:
[/*]
[/list]W pliku project.json nie ma sekcji środowiska wykonawczego. Musisz dodać
'"runtimes": {"win": {}}' do twojego projektu.json, a następnie ponownie uruchom NuGet
restore.
Próbowałem zrobić tak, jak sugerował ten błąd i dodać
"runtimes": {
"win": {}
},
To doprowadziło mnie do błędu, którego nie mogę ominąć:
Twój project.json nie wymienia „win” jako docelowego środowiska wykonawczego. Musisz
dodaj „win”: {} ”do sekcji„ runtimes ”w sekcji project.json,
a następnie ponownie uruchom przywracanie NuGet.
Dodałem już „wygrana” i zaczyna się to wydawać rozpraszające. Co robię, modyfikując plik project.json bezpośrednio, czy NuGet tego nie obsługuje?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Wygląda na to, że przyczyną tego problemu jest plik blokady lub plik (w zależności od wersji VS) z poprzedniej kompilacji, który nie jest usuwany podczas czyszczenia.
jak opisano tutaj
https://developercommunity.vis ... .html
.
Ręczne usunięcie katalogu to szybkie obejście.
Jeśli masz „nowy” projekt (na przykład projekt .NET Core lub netstandard utworzony w programie VS 2017) i „stary” projekt w tym samym katalogu (na przykład projekt .NET 4.6 utworzony w programie VS 2015), wygląda na to, że będą nieustannie walczyć, ponieważ oba używają katalogu na różne sposoby.
Więcej informacji tutaj.
https://github.com/NuGet/Home/issues/5126
.
Obejściem msbuild jest wymuszenie na jednym z projektów używania innego katalogu . Dodałem to do mojego „starego” csproj:
Anonimowy użytkownik
Potwierdzenie od:
Tutaj
https://docs.microsoft.com/en- ... kjson
niektóre dokumenty na project.lock.json.
Dodatkową radą byłoby upewnienie się, że plik project.lock.json jest ignorowany w pliku git, zignorowanie go i wypróbowanie pełnego git clean. Jednak zanim to zrobisz, upewnij się, że rozumiesz znaczenie Git clean.
Anonimowy użytkownik
Potwierdzenie od:
Mam nadzieję że to pomoże.
Anonimowy użytkownik
Potwierdzenie od:
Nie mam żadnych plików projektu JSON. Porady tutaj również nie pomogły, więc musiałem znaleźć trudny sposób, w jaki musiałem zainstalować najnowszy Android SDK (Oreo 8.1) oprócz mojego docelowego SDK (Nougat 7.1).
https://i.stack.imgur.com/aQrPR.jpg
Anonimowy użytkownik
Potwierdzenie od:
Zobacz obrazek poniżej
https://i.stack.imgur.com/QBTfu.jpg