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

Проект компиляции с помощью devenv.com - "ОШИБКА: невозможно обновить зависимости проекта"

У меня есть проект развертывания установки в VS 2010. Проект отлично компилируется с интерфейсом GUI VS 2010, но в любое время, когда я пытаюсь скомпилировать его с помощью vs cmd (devenv.com), он сталкивается с этой ошибкой:

ERROR: Unable to update the dependencies of the project.

Обратите внимание, что в ошибке нет ни одной DLL (например, ошибка НЕ ​​содержит "Зависимости для объекта" xxx не может быть определена ").

Пожалуйста, не говорите мне, чтобы очистить все файлы в этой настройке и начать с нуля - это не настоящее решение! У меня есть 5 проектов с этой точной ошибкой, и я не хочу переустанавливать их. Более того, это не обещает мне, что проблема не повторится в будущем.

Большое спасибо!

4b9b3361

Ответ 2

Я использовал для восстановления этих проектов установщика с нуля, когда они перестали работать (по какой-либо причине), но я нашел намного более быстрый (и менее подверженный ошибкам) ​​обходной путь. Меня устраивает. Возможно, это сработает для вас.

  • Удалите проект установщика из вашего решения через IDE интерфейс
  • Добавьте проект Installer обратно в ваше решение (Добавить >   Существующий проект...)
  • Перестроить

Он работает практически каждый раз для меня...

Джон

Ответ 3

исправление не исправило проблему на моем компьютере (попробовали на двух компьютерах, перезагрузили весь этот джаз)

Вместо этого я использовал элемент управления источником, чтобы выяснить, что случилось с моим .vdproj.

Похоже, дополнительные коррумпированные записи добавляются в раздел "File".vdproj.

Предположим, что вы получаете сообщение об ошибке, например

ОШИБКА: невозможно обновить зависимости проекта. Невозможно определить зависимости для объекта "AutoMapper.DLL".

В вашем .vdproj найдите AutoMapper, и вы должны встретить несколько {}, где он используется.

Нормальный выглядит следующим образом:

        "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_263299FB43D185D41A44FBEE0253D3ED"
        {
        "AssemblyRegister" = "3:1"
        "AssemblyIsInGAC" = "11:FALSE"
        "AssemblyAsmDisplayName" = "8:AutoMapper, Version=1.1.0.188, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"
            "ScatterAssemblies"
            {
                "_263299FB43D185D41A44FBEE0253D3ED"
                {
                "Name" = "8:AutoMapper.DLL"
                "Attributes" = "3:512"
                }
            }
        "SourcePath" = "8:AutoMapper.DLL"

тогда как поврежденный фрагмент не содержит имя dll (в этом случае AutoMapper.DLL) в разделе ScatterAssemblies.

Удалите эту коррумпированную запись, то есть весь раздел, начиная с "{9F6F8455-.. до следующего фрагмента.

Ответ 4

Я исправил это, отредактировав vdproj вручную и удалив разделы Hierachy и File, а затем восстановив vdproj

см.: this

Ответ 5

Это сработало для меня:

  • Запустите команду чистого решения из VS2010
  • Папка с открытым исходным кодом в проводнике
  • Искать *.exe файлы, сортировать по местоположению
  • Вручную удалить все файлы в папке Release

Если существует файл блокировки some_project.vshost.exe, откройте свойства этого проекта в VS и снимите флажок "Включить процесс хостинга Visual Studio" при отладке. Затем удалите его. Теперь он должен строиться.

Ответ 6

Это копируется из внешней ссылки @timB33, которая работает. Все ссылки на исправление MS выглядят разбитыми, так что это был единственный способ найти исправление без удаления и воссоздания проекта установки.

Я последовательно использовал этот метод, чтобы обойти эту ошибку вместо того, чтобы перестраивать мои проекты установки. Это относится как к проектам слияния модулей, так и к проектам установки. Вручную удалите данные в разделе "Иерархия и файлы" файлов проекта.

  • Открыть файл .VDPROJ

  • Найдите раздел "Иерархия". Удалите все, чтобы раздел выглядел так: "Иерархия" { }

  • Найдите раздел "Файл". Удалите все, чтобы раздел выглядел так:      "Файл"     {     }

  • Обновить проект

  • Восстановите проект.

  • Вам может потребоваться повторно добавить выходы проекта, если что-то не хватает