Не удалось загрузить файл или сборку "Antlr3.Runtime(1)" или одну из его зависимостей

Я получаю эту ошибку при попытке запустить мой проект MVC4, он работал нормально до последнего времени на других моих машинах, но когда я пытаюсь запустить его с другого компьютера, он дает мне эту ошибку:

Не удалось загрузить файл или сборку "Antlr3.Runtime(1)" или один из зависимостей. Установленное определение манифеста сборки не сопоставить ссылку на сборку. (Исключение из HRESULT: 0x80131040)

Прочитав об этом здесь, я попытался сделать:

Install-Package Antlr3.Runtime -Pre

но это не помогло, никаких идей?

Ответ 1

Я столкнулся с той же проблемой при экспериментировании с бесплатной платформой регистрации Nlog.

Это помогло мне:

Введите% TEMP% в Проводнике и удалите все временные файлы.

После этого я не получил ошибку при запуске моего MVC5-проекта в Visual Studio.

Ответ 2

Попробуйте удалить временные файлы для ASP.Net, выполнив одно из следующих действий:

  • Введите% TEMP% в Проводнике и удалите все временные файлы.
  • Перейдите в папку "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" и удалите все файлы.

Ответ 3

Не забудьте также очистить временные файлы ASP.NET в Framework64. Это сделало трюк для меня.

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

Ответ 4

На всякий случай это помогает кому-то.
У меня была эта проблема с приложением MVC 5. Удалите Antlr3.Runtime.dll из каталога bin и восстановите исправление проблемы.

Ответ 5

Моя проблема заключалась в том, что последняя версия WebGrease устанавливает версию 3.4.1.9004 Antlr. Как только я установил WebGrease, а затем обновил Antlr до версии 3.5.0.2, ошибка исчезла.

Ответ 6

Если какие-либо решения решают вашу проблему, проверьте web.config версию сборки

<dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
      </dependentAssembly>

Ответ 7

Для меня удаление этого node в файле web.config избавилось от сообщения об ошибке:

<identity impersonate="true" userName="" password="">

Но для меня действительно работал полный доступ (к имени пользователя, указанному в олицетворении), к папке Temporary ASP.NET Files, найденной в C:\Windows\Microsoft.NET\Framework {version} (или Framework64).

Идентификатор может также храниться в настройках пула приложений веб-сайта в IIS.

Убедитесь, что ваш пакет nuget установлен правильно, с правильной версией. Если ничего не работает, просто попробуйте повторно добавить ссылку из локальной папки и установите для нее значение Копировать локальную.

Ответ 8

Одним из простых способов является обновление antlr и webgrease

  • Откройте диспетчер консоли пакета.
  • тогда попробуйте применить эти коды по одному.
  • PM > Обновление пакета Antlr
  • PM > Обновление веб-сайта пакета обновления

Наконец, исправлена ​​ошибка

Ответ 9

Для меня это было вызвано несоответствием между версиями Antlr отладки и исполнения.

Наконец, решив его, установив другой пакет Antlr: Install-Package Antlr

Ответ 10

Попробуйте разблокировать файл Antlr3.Runtime.dll, если вы добавите ссылку вручную: enter image description here

Ответ 11

Была проблема с impersonate = "true" в web.config, я удалил линию, с которой она работала.

Снова я разместил строку и дал разрешение администратора учетному лицу с олицетворяющим, все мое приложение работало:)

Ответ 12

Если вы используете олицетворение. Ответ заключается в том, чтобы дать пользователю разрешение на олицетворение доступа к следующим папкам:

  1. C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

  2. Каталог вашего сайта.

Также вам может понадобиться создать папку следующим образом:

C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here]

Но сначала попробуйте предыдущее, у меня это сработало.

Эти два изменения предоставили олицетворенному пользователю разрешение на сохранение временных данных, а также получение файлов dll и любых необходимых файлов из каталогов.

Обновление, для Windows 10 Это решение, которое работало для меня

Мы сделаем оба шага, но вместо C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

Запишите% TEMP% в проводник и дайте пользователю разрешение на олицетворение доступа к следующей папке: C:\Users\[UserName]\AppData\Local\Temp\Temporary ASP.NET Files

Ответ 13

В проекте у меня была ссылка на WebGrease, но не было соответствующего элемента в packages.config. Я удаляю ссылку из проекта, потому что мне она больше не нужна. Теперь он работает.

Ответ 14

Я попробовал все ответы в этом посте, но никто из них не работал у меня.

Итак, я удалил все директории /bin внутри всех проектов из моего решения, очистил и перестроил решение, и он наконец-то сработает!

Все мое утро потратило время на выяснение проблемы...

Ответ 15

что сработало для меня, было удаление идентификатора = true из моего webconfig (в свойствах system.web) и снова создать решение и снова опубликовать его (если необходимо), и это сработало как шарм!

Ответ 16

Моя проблема в конечном итоге вызвана изменением подключенных дисков в нашей групповой политике. Мое решение имеет параметр tempDirectory, установленный в Web.config, для использования RAM диск в качестве моего диска Z:. По-видимому, они начали использовать диск Z: и библиотеки DLL копировались в tempDirectory, как обычно, но я думаю, что они были удалены процессом на удаленном сервере (возможно, обнаружение вирусов). Я смог понять это, используя Process Monitor и фильтрацию для Antlr и увидев, что он ищет в сетевом расположении для DLL.

Ответ 17

Я обновил пакеты all в Nudget Package Manager, и это сработало! В моем случае я размещаю свой сайт в GoDaddy

Ответ 18

После попытки удалять временный файл .netframework без успеха, я изменил

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime />
    <pages controlRenderingCompatibilityVersion="4.0" />
</system.web> 

Только с targetFramework = "4.6" вместо 4.6.1 Веб-сайт отображается без ошибок. Затем я снова изменил на targetFramework = "4.6.1" и перезапустил сервер. Все остается в порядке.

Ответ 19

Для меня решение заключалось в том, чтобы запустить Visual Studio в качестве администратора. По-видимому, это проблема с разрешениями.

Ответ 20

Решение для меня состояло в том, чтобы пойти в Инструменты > Диспетчер пакетов NuGet > Управление пакетами для решения

Затем нажмите Antlr3 и убедитесь, что он был установлен в:

  • Проект запуска
  • Любые библиотеки, использующие отражение
  • Любые библиотеки, вызывающие библиотеки, использующие отражение

В моем случае это было 4 проекта, в которых это было необходимо. Как только это было сделано, эта проблема была окончательно решена.

Ответ 21

Я только столкнулся с этой проблемой и попробовал вышеупомянутые решения, но пока ничего не получалось. Мне пришлось удалить dll из bin floder и пересобрать, а затем удалить все освобожденные файлы из папки с пакетами и восстановить пакеты с помощью консоли диспетчера пакетов.

Ответ 22

Удалено% temp%

Удаленная корзина

Удалено .vs

Сейчас у меня работает

Ответ 23

В моем случае, когда я клонировал проект, Visual Studio 2019 заменила белый символ на " %20" в пути проекта. Затем, когда VS попытался найти пакеты самородков, он не смог найти правильный путь.