Не удалось загрузить файл или сборку "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
Если вы используете олицетворение. Ответ заключается в том, чтобы дать пользователю разрешение на олицетворение доступа к следующим папкам:
-
C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files
-
Каталог вашего сайта.
Также вам может понадобиться создать папку следующим образом:
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 попытался найти пакеты самородков, он не смог найти правильный путь.