Не удалось загрузить файл или сборку Antlr3.Runtime.dll - PullRequest
6 голосов
/ 13 августа 2011

Мы использовали TeamCity для нашего сервера сборки, .Net Framework 4 и ASP.NET MVC2 и NHibernate. Наш сервер сборки недавно вышел из строя благодаря недавней проблеме Amazon EC2.Мы настраиваем новый сервер сборки.

Однако, хотя в нашей кодовой базе недавно ничего не изменилось, Teamcity выдает следующую ошибку.

ResGen error RG0000: Could not load referenced assembly "C:\TeamCity\buildAgent\work\1e7706dcd512f467\xxx\Lib\Antlr3.Runtime.dll".  Caught a FileLoadException saying "Could not load file or assembly 'C:\TeamCity\buildAgent\work\1e7706dcd512f467\xxx\Lib\Antlr3.Runtime.dll' or one of its dependencies. Provider DLL failed to initialize correctly. (Exception from HRESULT: 0x8009001D)".

Данный файл DLL существует вместе с другими необходимыми DLL.Любое решение?

Ответы [ 7 ]

6 голосов
/ 13 августа 2011

Иногда вещи начинают работать неправильно в рамках конкретной сборки в конкретном агенте сборки. Раньше я боролся с такой проблемой, но в моем случае MSBuild владел блокировкой на одной из библиотек DLL, поэтому TeamCity не смог перезаписать ее.

Так что в основном:

  • Попробуйте принудительно очистить
  • Попробуйте удалить рабочую папку сборки "C:\TeamCity\buildAgent\work\1e7706dcd512f467", поэтому при следующей сборке TeamCity будет вынужден захватить все файлы
2 голосов
/ 13 августа 2011

Я нашел ссылку на код ошибки 0x8009001D на сайте поддержки Microsoft здесь .

Эта проблема возникает, если вы изменили значение реестра MountingDevices изменить назначение буквы загрузочного диска или системного диска назначение.

Обходной путь для кода ошибки 0x8009001d

Чтобы решить эту проблему, необходимо удалить все содержимое раздела реестра MountingDevices. Этот ключ находится в следующем подразделе реестра: HKEY_LOCAL_MACHINE \ SYSTEM \ MountedDevices Для получения дополнительной информации щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт: 223188 Как изменить букву системного / загрузочного диска в Windows 2000 Вы не можете изменить раздел реестра MountingDevices в Windows XP, поскольку существует много жестко заданных путей к диску C: \ Windows. Эти жестко закодированные пути могут не загружаться. Затем такое поведение вызывает код ошибки, связанный с WPA.

Я сам никогда не сталкивался с этим, но, надеюсь, это поможет.

1 голос
/ 19 мая 2014

Это помогло мне (и я чувствую себя довольно комфортно с этим, потому что мне не нужно было менять какие-либо скрытые настройки или удалять файлы, которых я действительно не знаю)

  1. закомментируйте строку <package id="Antlr" version="3.4.1.9004" targetFramework="net45"/> из файла packages.config.
  2. перекомпилировать и запустить -> проблем не возникает
  3. сделать линию <package id="Antlr" version="3.4.1.9004" targetFramework="net45"/> снова активной.

Вот и все, ребята!

0 голосов
/ 20 июля 2016

Пакеты, ребята ... пакеты.Независимо от того, какая у вас проблема с DLL, как и у некоторых DLL, иногда они тоже помогают обновлять их.Причина: вы, вероятно, только что запустили некоторые обновления Windows или (Windows сделала это самостоятельно), и это делает ваши новые исправления несовместимыми со старыми DLL в вашем проекте.Шаг 1Зайдите в Инструменты> Диспетчер пакетов Nuget> Управление пакетами Nuget для решения> Обновления> Обновить все (обычно лучший вариант :-)).И, подождите ... если вы столкнулись с этой ошибкой: Установка Nuget.exe - Microsoft.CSharp уже имеет зависимость для System.Dynamic.Runtime , затем сначала обновите менеджер пакетов NUGET (Шаг 2): Инструменты> Расширения и обновления> Обновления> Галерея Visual Studio> Нажмите «Обновить» рядом с NuGet> Перезагрузить VS.Шаг 1. Удачи!(VS Studio 2013)

0 голосов
/ 21 февраля 2015

в visual studio ---> tools ---->

в консоли диспетчера пакетов введите

PM> install-package antlr и нажмите enter

0 голосов
/ 23 июля 2014

Это также происходит, когда сборки, перечисленные в файле packages.config, не синхронизированы со сборками, на которые есть ссылки в проекте. Если это так, то просто удалите пакет (ы) из packages.config, на который не ссылается проект, и перестройте проект или решение.

0 голосов
/ 19 апреля 2013

У меня была такая же проблема сегодня.В настройках пула приложений IIS-> предварительные настройки я изменил настройки «Включить 32-разрядное приложение» на true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...