Подтвердить что ты не робот

Не удалось загрузить файл или сборку "Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35" или один из его зависимостей

Обновление произошло прошлой ночью, и теперь я не могу сделать ctrl + '.' для предложений кода в VS 2015. Появляется сообщение об ошибке:

Не удалось загрузить файл или сборку "Microsoft.CodeAnalysis, version = 1.3.1.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35" или одну из его зависимостей. Система не может найти указанный файл.

Я все еще могу строить и развивать, но это будет очень раздражать без этой функции. Я признаю это, я становлюсь мягким!

У кого-нибудь есть предложение по исправлению этой ошибки?

4b9b3361

Ответ 1

У меня была такая же проблема с Visual Studio 2015 Update 2, чтобы решить проблему в глобальном масштабе для всех решений, обновить до Обновление Visual Studio 2015 3. Вот ссылка: Загрузить здесь

Ответ 2

Как указано @CaptainAmerica, решение заключается в обновлении сборки CodeDom от NuGet. Следует отметить, как это сделать в Visual Studio. Я нашел решение здесь:

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

В основном, в меню Visual Studio выберите:

Tools-> Nuget Package Manager -> Package Manager Console

В консоли, которая появляется в нижней части Visual Studio, выполните следующую команду:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Ответ 3

Если какой-либо из параметров не работает, вот подробное руководство для обработки этого сценария....

В первую очередь важна версия. Обратите внимание на версию, указанную в ошибке...

Could not load file or assembly 'Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Если вы видите ошибку выше, это означает, что она не может найти версию 1.3.1. Теперь создайте новый проект VS. Никаких предпочтений, это может быть просто консольное приложение. Теперь, когда шаблон проекта готов, перейдите в диспетчер пакетов и выполните следующую команду с указанной вами версией...

Install-Package Microsoft.CodeAnalysis -Version 1.3.1

Это установит все пакеты. Пусть это закончится. Как только это будет сделано. Нам не нужен этот недавно созданный проект. Вы можете удалить его полностью. Шутки в сторону! вы можете удалить его. Мы сделали это, потому что хотели, чтобы этот пакет был установлен на глобальном уровне nuget. Когда вы устанавливаете что-то, nuget сохраняет его на глобальном уровне вашей машины. Путь будет что-то вроде этого...

C:\Users\<<Your Windows User>>\.nuget\packages

Вы можете узнать свой путь, следуя...

%USERPROFILE%\.nuget\packages

Теперь вы увидите требуемую Microsoft.CodeAnalysis.dll в следующей папке...

C:\Users\<<Your Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45

Обратите внимание, что указанный выше путь содержит номер версии (1.3.1). Если ваша версия отличается, посмотрите на эту версию.

Теперь, когда у вас есть dll с вами, все, что вам нужно сделать, это добавить эту dll в GAC. Для этого вам понадобится GacUtil.exe

Этот файл уже установлен вместе с Visual Studio. Вы можете искать "GacUtil" на диске C. Для меня это там по ниже пути...

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

Теперь запустите командную строку в качестве администратора и перейдите к текущему каталогу на свой путь, содержащий GacUtil. Запустите команду ниже, чтобы установить эту DLL в GAC.

gacutil
 -i C:\Users\<<You Windows User>>\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.1\lib\net45\Mi
crosoft.CodeAnalysis.dll

В основном предоставляем путь к dll, который мы установили глобально. Он покажет сообщение об успешной установке.

Это все! Теперь запустите свою Visual Studio еще раз, и вы устраните эту проблему.

Ответ 4

Я нашел эту страницу и в нижней части страницы в разделе "Совместимость с ASP.NET" говорится, что ASP.NET использует nuget пакет Microsoft.CodeDom.Providers.DotNetCompilerPlatform для обновления сборок Microsoft.CodeAnalysis. Поэтому я обновил пакет DotNetCompilerPlatform с 1.0.0 до 1.0.3, и он снова работает! Да, жизнь снова хороша!

Ответ 5

Чтобы решить эту проблему для всех решений, мне нужно было установить сборку Microsoft.CodeAnalysis.dll непосредственно в кэш GAC - Global Assemblies Cache.

Я получил файл Microsoft.CodeAnalysis.dll от C:/Users/[user]/. nuget/packages/Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45 + win8/Microsoft.CodeAnalysis.dll.

Чтобы установить сборку в GAC, я использовал PowerShell script из https://github.com/LTruijens/powershell-gac.

Наконец, мне удалось установить сборку в GAC с помощью следующей команды от PowerShell:

Add-GacAssembly [myPath]\Microsoft.CodeAnalysis.dll

Ответ 6

У меня тоже была такая же проблема. Моя версия visual studio 2015 была 2.0. Я обновил его до версии 3.

Проблема решена!!!

Ответ 7

Я решил проблему таким образом:

Обновить Visual Studio 2015 до Обновить 3

в меню выберите Просмотр = > Уведомления = > Обновление Visual Studio 3 и нажмите кнопку обновления.

Ответ 8

Я исправил эту проблему, обновив все зависимости Nuget Microsoft до версии 2.0. Это использовало VS 2017. Я использовал предварительную версию.

Ответ 9

В моем случае ошибка произошла после выключения Live Unit Testing и запуска тестов вручную. Некоторые тесты завершатся неудачно с приведенным выше сообщением об ошибке.

Переход в Test → Live Unit Testing → Options и выдача "Delete Persisted Data" решил проблему.

Ответ 10

Я исправил подобную проблему, удалив папку .vs, расположенную внутри решения.

Ответ 11

Я обнаружил отсутствующие сборки в пакете NuGet (после разрешения первой было несколько других): https://www.nuget.org/packages/Microsoft.Net.Compilers/1.3.1-rc

Устанавливал их, используя GacUtil из консоли Dev.

Ответ 12

К сожалению, обширное решение с "nuget install/gacutil" здесь выше не могло работать, так как точная версия dll зависимости не была доступна.

Следующее решение моей проблемы в нашем сложном приложении веб-формы заключалось в выполнении в решении в Visual Studio → Инструменты → Nuget → Диспетчер консольных пакетов.

Update-Package -reinstall 

Ответ 13

В моем случае я получал эту ошибку, потому что мое решение Visual Studio пыталось использовать TextTransform.exe во время этапа предварительной сборки в одном из проектов, но на моей локальной машине не было TextTransform.exe по пути, указанному в Мой шаг перед сборкой и моя первая попытка исправить это было просто скопировать TextTransform.exe из какого-то другого места, где ожидала Visual Studio. Похоже, это вызвало эту проблему, потому что TextTransform.exe имеет другие тихие зависимости.

Мое исправление состояло в том, чтобы изменить этапы предварительной сборки, чтобы вместо поиска файла в

C:\Program Files (x86)\Common Files\microsoft shared\TextTemplating\14.0\TextTransform.exe

вместо этого он посмотрел бы в папку установки Visual Studio, в которой было множество других файлов, предположительно один из которых был зависимостью от равноправного узла TextTransform.exe

C:\Program Files\Visual Studio\Common7\IDE\TextTransform.exe

Это, казалось, исправило вещи для меня.