Nie można załadować zadania BuildTasks.Csc z zestawu?

97

Czuję się winny zadając tutaj takie pytanie, ale jestem zagubiony i byłbym wdzięczny za pomoc.

Weryfikacja koncepcji, taka jak aplikacja internetowa, została zbudowana na jednym komputerze i umieszczona w repozytorium w celu pobrania na inny komputer w innej lokalizacji. Pierwotnie skonfigurowano funkcję automatycznego kompilowania, w której platforma Azure mogłaby automatycznie kompilować i publikować podczas wpisywania, ale została ona usunięta. Sprawy działały z obu stron, dopóki jedna strona nie zawierała większości wykluczonych zmian. Teraz widzę następujący błąd:

Nie można
załadować zadania „Microsoft.CodeAnalysis.BuildTasks.Csc” z zestawu ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Nie można załadować pliku lub zestawu „file: /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll” lub jednej z jego zależności. System nie może odnaleźć określonego pliku. Upewnij się, że deklaracja jest poprawna, że ​​zestaw i wszystkie jego zależności są dostępne oraz że zadanie zawiera publiczną klasę, która implementuje Microsoft.Build.Framework.ITask.

Czy ktoś ma jakieś sugestie, od czego zacząć szukać problemu?

Oprogramowanie
źródło
Wypróbuj to rozwiązanie kx.cloudingenium.com/programming/net/…
Pramod Sutar

Odpowiedzi:

117

Okazuje się, że pakiety NuGet zostały zatwierdzone do repozytorium i wszystko zepsuły. Usunięcie katalogu project \ project \ packages z repozytorium rozwiązało wszystkie problemy z kompilacją, ponieważ NuGet automatycznie pobiera pakiety podczas kompilacji.

Oprogramowanie
źródło
Upewnij się, że dołączasz rzeczywisty folder pakietów do VSTS, a także zawartość ... Zrobiłem tylko zawartość pakietów i otrzymałem błąd
SteveC
1
Mam pakiety nuget zatwierdzone we wszystkich moich projektach. Jedyny problem polega na tym, że gdy chcesz dodać je do kontroli źródła, pliki * .dll są domyślnie „elementami wykluczonymi”, więc zatwierdzasz tylko puste katalogi zamiast swoich nugetów. Dlatego nawet przywrócenie nuget nie pomaga, ponieważ katalogi są na miejscu, więc nuget uważa, że ​​wszystko jest w porządku.
Jiří Herník
Podobne rozwiązanie wątku można znaleźć tutaj kx.cloudingenium.com/programming/net/…
Pramod Sutar
Nie wiem, dlaczego to zadziałało ... Jaki jest powód?
Richard Duerr
65

Otrzymałem ten błąd podczas tworzenia nowej gałęzi dla mojego projektu.

Doprowadzało mnie to do szału przez godzinę. Wypróbowałem większość sugestii w Internecie, w tym zaakceptowaną odpowiedź na to pytanie.

Następnie zamknąłem projekt, otworzyłem go ponownie, wyczyściłem i błąd zniknął. Oznacza to, że może to być problem z pamięcią podręczną.

W każdym razie chciałem się tylko podzielić.

bazinga
źródło
6
Dzięki! Dla mnie najpierw był to folder z pakietami. Potem nadal miałem błąd, ale ponowne uruchomienie VS działało :)
dsnunez
35

Ja również wypróbowałem najlepszą odpowiedź bez powodzenia, więc usunąłem zawartość mojego kosza i katalogu pakietów, zamknąłem i ponownie otworzyłem VS i wszystko w porządku.

Stephen Garside
źródło
1
Ten mi pomógł. Próbowałem uruchomić istniejący projekt ASP.NET w VS 2015 w programie Parallels i powodował to powyższy błąd. Usunięcie folderów „bin” i „packages”, ponowne uruchomienie VS i czysta kompilacja załatwiły sprawę!
A3mercury
18

Wypróbowałem wszystkie opisane wcześniej rozwiązania, ale żadne nie zadziałało.

Rozwiązaniem dla mnie była aktualizacja Microsoft.Net.Compilers z Menedżera pakietów NuGet

Cătălin Rădoi
źródło
2
Miałem odwrotny problem. Byłem zbyt optymistyczny i ściągnąłem najnowszą wersję RC. Kiedy wróciłem do najnowszej stabilnej wersji, było dobrze.
Cool Blue
1
Zaktualizowałem wersję 2.8 do 3.1.1 i to rozwiązało mój problem. Dzięki!
Dan Csharpster
14
  • Kliknij prawym przyciskiem myszy rozwiązanie.
  • Przejdź do Zarządzaj pakietami Nuget.
  • Szukaj Microsoft.Net.Compilers .
  • W razie potrzeby zainstaluj lub zaktualizuj zależne projekty.
tika
źródło
6

Zbuduj ponownie, wyczyść rozwiązanie i uruchom ponownie Visual Studio.

Rohit
źródło
1
Tak, to samo tutaj, jednak samo ponowne uruchomienie VS nie wystarczyło - musiałem ponownie uruchomić komputer, a potem wyszło dobrze.
Billious
Ponowne uruchomienie komputera załatwiło sprawę. Nie jestem pewien, czy muszę wykonać wszystkie czyszczenie i ponowne instalacje pakietów NuGet.
Don Rolling
5

Usunięcie paczki i wyczyszczenie roztworu rozwiązało to za mnie.

user3085805
źródło
4

Usunięcie tych trzech katalogów rozwiązuje problem.

  • / pakiety
  • /kosz
  • / obj

UWAGA : usuń zarówno / bin, jak i / obj ze wszystkich projektów zawartych w rozwiązaniu (w tym projektów testowych).

Felipe Romero
źródło
3

Problem ukrywa się na TFS, musisz usunąć folder TestProject ... \ packages z TFS, zaewidencjonować, usunąć go z lokalnego katalogu i ponownie skompilować. Pracowałem!

Katastrofa
źródło
3

Usuwam wszystko z folderu pakietów i odbudowuję rozwiązanie. U mnie to zadziałało.

N.Rybchenko
źródło
3

Skorzystaj z poniższego kroku:

1) Usuń folder pakietu.
2) zamknij studio wizualne.
3) otwórz projekt i przebuduj projekt.

Sumant Singh
źródło
2

W moim przypadku: to działa dla mnie.

Okazuje się, że mój kolega z zespołu zaczął już zajmować się programowaniem dla systemu Windows 10 i zainstalował Microsoft Build Tools 2015 na swoim komputerze.

Zainstalowałem oprogramowanie z https://www.microsoft.com/en-us/download/details.aspx?id=48159 i problem został rozwiązany.

Ajmal
źródło
1

W moim przypadku rozwiązaniem było:

Użyj Eksploratora Windows i przejdź do niewłaściwej ścieżki: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Kliknij prawym przyciskiem myszy folder bin> wybierz właściwości> Odznacz Tylko do odczytu.

Terry H.
źródło
1

W moim przypadku rozwiązaniem było:

  1. Kliknij prawym przyciskiem myszy rozwiązanie.
  2. Przejdź do Zarządzaj pakietami Nuget dla tego rozwiązania.
  3. WyszukajMicrosoft.CodeDom.Providers.DotNetCompilerPlatform .
  4. Odinstaluj wyszukany pakiet.
  5. Uruchom ponownie program Visual Studio.
Litisqe Kumar
źródło
0

Kliknij prawym przyciskiem myszy rozwiązanie. Przejdź do Zarządzaj pakietami Nuget dla tego rozwiązania. Wyszukaj Microsoft.Net.Compilers w sekcji Przeglądaj.

ravula sandeep
źródło
0

Usunięcie folderu bin działało dla mnie

amar beeharry panray
źródło
0

W społeczności vs2017 pojawił się nowy element w menu "build". Zniknął po tym, jak go użyłem i został nazwany czymś w rodzaju „ Optymalizuj pakiety budowania projektu ”. Kliknąłem i wszystko naprawiło, po prostu zrestartowałem itd. Zrobiłem to na dwóch komputerach.

To, co zrobił, zostało usunięte Microsoft.net.compilers 2.10.0i zastąpioneMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

A więc proszę - bardziej automagiczny ...

Craig
źródło
0

Mój projekt został zbudowany na .Net Core 2.2, ale miałem zainstalowaną wersję zapoznawczą .Net Core 3.0. Odinstalowałem .Net Core 3.0 z mojego systemu i przeszedłem przez wszystkie moje biblioteki klas, usuwając Microsoft.Net.Compilers 3.0, a następnie przebudowałem i zadziałało.

emeka
źródło
0

Przeniosłem swoje rozwiązanie z jednego dysku na inny i jeden z plików nie mógł zostać skopiowany, ponieważ „używany”, dla którego kliknąłem, zignorowałem, powodując błąd opisany w tym poście. Ręczne skopiowanie brakującego pliku naprawiło to.

plik: Microsoft.Build.Tasks.CodeAnalysis.dll Katalog docelowy: packages \ Microsoft.Net.Compilers.2.1.0 \ tools

Uruchom ponownie Wszechświat
źródło
0

Dla mnie próbowałem otworzyć projekt MVC5 w VS 2013 i otrzymywałem ten błąd, Otworzyłem go w VS 2017 i działało dobrze.

śmigać
źródło