Завдання BuildTasks.Csc не вдалося завантажити зі збірки?


95

Я почуваюсь винним, ставлячи подібне запитання тут, але я втрачаю і буду вдячний за допомогу.

Веб-програма, яка підтверджує концепцію, була побудована на одному ПК та розміщена в репо для завантаження на інший ПК в іншому місці. Спочатку була налаштована функція автоматичної збірки, за якою Azure збиратиметься та публікуватиметься автоматично під час реєстрації, але її було видалено. Справа працювала на обох кінцях, поки одна сторона не включала велику частину виключених змін. Тепер я бачу таку помилку:

Не вдалося
завантажити завдання "Microsoft.CodeAnalysis.BuildTasks.Csc" із збірки ... \ пакети \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll. Не вдалося завантажити файл або збірку 'файл: /// ... \ пакети \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll' або одну із залежностей. Система не може знайти вказаний файл. Переконайтеся, що декларація правильна, що збірка та всі її залежності доступні та що завдання містить загальнодоступний клас, що реалізує Microsoft.Build.Framework.ITask.

Хтось має пропозиції щодо того, з чого почати шукати проблему?


Відповіді:


117

Виявляється, пакети NuGet були віддані в сховище і все зламали. Видалення каталогу \ project \ пакети з репозиторію вирішило всі проблеми збірки, оскільки NuGet автоматично отримує пакети під час збірки.


Переконайтеся, що ви включаєте фактичну папку пакунків у VSTS, а також вміст ... Я лише вміст пакунків, і отримав помилку
SteveC

1
У мене є nuget-пакети, зафіксовані для всіх моїх проектів. Проблема полягає лише в тому, що ви хочете додати їх до джерела управління, файли * .dll за замовчуванням є "виключеними елементами", тому ви здійснюєте лише порожні каталоги замість ваших нугтей. Ось чому навіть відновлення нугету не допомагає, тому що каталоги є на місці, тому логін вважає, що все гаразд.
Jiří Herník

Подібний потік рішення може бути знайдено тут kx.cloudingenium.com/programming/net / ...
Прамод Sutar

Не знаю, чому це спрацювало ... Яка причина?
Річард Дюрр,

65

Я отримав цю помилку, коли створив нову гілку для свого проекту.

Це зводило мене з розуму протягом години. Я спробував більшість пропозицій через Інтернет, включаючи прийняту відповідь на це питання.

Потім я закрив проект, відкрив його знову, очистив, і помилка зникла. Отже, це означає, що це може бути проблемою кешу.

У всякому разі, просто хотів поділитися.


6
Дякую! Для мене спочатку це була папка пакунка. Потім у мене все-таки сталася помилка, але перезапуск VS спрацював :)
dsnunez

35

Я теж спробував найважливішу відповідь, не маючи удачі, тому видалив вміст мого контейнера та директорії пакунків, закрив і знову відкрив VS, і зараз все добре.


1
Цей мені допоміг. Я спробував запустити існуючий проект ASP.NET у VS 2015 у Parallels, і це дало мені помилку вище. Видалення папок "bin" та "пакети", перезапуск VS та чиста збірка зробили свою справу!
A3mercury

17

Я спробував усі описані раніше рішення, але жодне з них не працювало.

Для мене це вирішило - оновити Microsoft.Net.Compilers від менеджера пакунків NuGet


2
У мене була протилежна проблема. Я був занадто оптимістичним і завантажив останню версію RC. Коли я повернувся до останньої стабільної версії, це було нормально.
Cool Blue

1
Я оновив з 2.8 до 3.1.1, і це вирішило мою проблему. Дякую!
Dan Csharpster

13
  • Клацніть правою кнопкою миші на своєму рішенні.
  • Перейдіть до керування Nuget пакетами.
  • Шукати Microsoft.Net.Compilers.
  • За необхідності встановлюйте або оновлюйте залежні проекти.

6

Повторно побудувати, очистити рішення та перезапустити Visual Studio працював у мене.


1
Так, тут теж, проте просто перезапустити VS було недостатньо - довелося перезавантажити комп’ютер, тоді це вдалося.
Billious

Перезапуск мого комп’ютера зробив свою справу. Не впевнений, чи потрібно було робити всі чистки та перевстановлення пакунків nuget.
Дон


4

Видалення цих трьох каталогів вирішує проблему.

  • / пакунки
  • / bin
  • / obj

ПРИМІТКА : видаліть / bin та / obj з усіх проектів, включених у рішення (включаючи тестові проекти).


3

Проблема приховується на TFS, вам потрібно видалити папку TestProject ... \ пакети з TFS, зареєструватися, видалити її з локального каталогу і побудувати знову. Працювали!


3

Я видаляю все з папки пакунків і перекомпонуйте рішення. Це спрацювало для мене.


2

У моєму випадку: це працює для мене.

Виявляється, мій товариш по команді вже почав вивчати розробку Windows 10 і на його машині встановив Microsoft Build Tools 2015.

Я встановив програмне забезпечення з https://www.microsoft.com/en-us/download/details.aspx?id=48159, і проблема була вирішена.


2

Використовуйте наступний крок:

1) Видаліть папку упаковки.
2) закрити візуальну студію.
3) відкрити проект і відновити проект.


1

У моєму випадку рішення було:

Використовуйте Провідник Windows та перейдіть до правопорушного шляху: C: \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

Клацніть правою кнопкою миші на папці bin> виберіть властивості> Зніміть прапорець ReadOnly.


1

У моєму випадку рішення було:

  1. Клацніть правою кнопкою миші рішення.
  2. Перейдіть до Керування пакетами Nuget для цього рішення.
  3. Шукати Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. Видаліть шуканий пакет.
  5. Перезапустіть Visual Studio.


0

Клацніть правою кнопкою миші рішення. Перейдіть до Керування пакетами Nuget для цього рішення. Шукайте компілятори Microsoft.Net.Com в розділі огляду.



0

У спільноті vs2017 з'явився новий пункт в меню "побудувати". Він зник після того, як я ним скористався, і називався приблизно так: " Оптимізувати пакети збірки проектів ". Я натиснув, і це все виправило, просто перезапустив і т. Д. Я зробив це на двох машинах.

Те, що він зробив, було вилучено Microsoft.net.compilers 2.10.0та замінено наMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

Отже, ось - більш автоматичний ...


0

Мій проект був побудований з .Net Core 2.2, але у мене був встановлений попередній перегляд .Net core 3.0. Я видалив .Net Core 3.0 з моєї системи та пройшов усі мої бібліотеки класів, видаливши Microsoft.Net.Compilers 3.0, потім відновив, і це спрацювало.


0

Я перемістив своє рішення з одного диска на інший, і один із файлів не вдалося скопіювати, оскільки "in used", для якого я натискаю, ігнорується, спричиняючи помилку, описану в цій публікації. Копіювання відсутнього файлу виправлено вручну.

файл: Microsoft.Build.Tasks.CodeAnalysis.dll Каталог призначення: пакети \ Microsoft.Net.Compilers.2.1.0 \ tools


0

Для мене я намагався відкрити проект MVC5 у VS 2013, і я отримував цю помилку, відкрив її у VS 2017, і вона працювала чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.