Установка и развертывание Visual Studio завершаются неудачно без ошибок - PullRequest
5 голосов
/ 11 мая 2009

У меня есть проект установки и развертывания, который на нашем сервере сборки сообщает следующее в сводке:

========== Перестроить все: 25 успешно выполнено, 2 не выполнено, 0 пропущено ==========

Я не знаю, что это за два сбоя, хотя я считаю, что одним из них является проект vdproj, потому что если я запускаю сборку без установщика, об ошибках вообще не сообщается. Сообщения «упаковочный файл» соответствуют выводу на моем ПК, где сборка успешно завершена.

Я убежден, что это проблема окружающей среды, просто нигде нет журналов, в которых говорится, в чем проблема, - просто число в сводке.

Еще более странно, что файлы setup.exe и myapp.msi выглядят нормально. Я не могу понять, что это за проекты, которые провалились, потому что там нет упоминаний о неудачном проекте. Все, что я знаю, это то, что если я создаю решение, исключая проект установки, в сводке говорится, что ошибок не было.

Кто-нибудь может придумать, что проверить?

Ответы [ 4 ]

11 голосов
/ 15 мая 2009

В итоге ответом было то, что это известная ошибка: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317870

Ответ заключается в том, чтобы изменить файлы проекта (* .csproj), содержащие файлы LINQ to SQL dbml, чтобы удалить некоторые компоненты, следующим образом:

  1. Закрыть VS 2008.
  2. Откройте файл проекта, содержащий элемент LINQ To SQL, в блокноте.
  3. Удалить следующие строки:
    [ItemGroup]
    [Service Include = "{3259AA49-8AA1-44D3-9025-A0B520596A8C}" /]
    [/ ItemGroup]

Проект установки теперь будет собираться успешно. Однако если вы дважды щелкните файл DBML, чтобы открыть дизайнер в VS 2008 проект установки остановит строительство снова. Выше строки не будут добавлены в файл проекта, но проект установки остановит строительство в любом случае. Просто перезагрузите VS 2008 и он снова заработает - пока вы снова не откроете конструктор DBML. После сбоя проекта установки из-за этой проблемы никогда не построить успешно, пока после вас перезагрузите VS 2008.

В конце концов я нашел ответ (или хотя бы ссылку на ответ) в теме форума MS Connect . Вот документированный обходной путь .

0 голосов
/ 28 августа 2018

В моем случае проект не удалось собрать из-за неправильного формата версии (свойства проекта «Версия»). Принятый формат - X.X.X, например 1.0.0. Когда я изменю его на 1.0.0.0, проект не удастся собрать.

0 голосов
/ 15 мая 2009

Да, у меня было это раньше.

Не уверен насчет вашей настройки, но попробуйте это уместно:

Во-первых, щелкните правой кнопкой мыши файл решения> Свойства> Конфигурация

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

Кроме того, в вашей файловой системе удалите папки отладки / выпуска для всех ваших проектов.

Наконец, по моему опыту, эта ошибка обычно вызвана поврежденным или отсутствующим файлом web.config.

дайте мне знать, как вы идете

0 голосов
/ 15 мая 2009

(Вы не сказали, какой у вас тип сервера сборки. Поскольку вы пометили «.net», я предполагаю, что вы используете TFS и Team Build.)

Team Build использует MSBuild (на самом деле это MSBuild). MSBuild не может создавать файлы vdproj. Это может сделать только Visual Studio.

Так что, если вы включаете решения, которые включают файлы vdproj, то они потерпят неудачу. (Проверьте журнал сборки вокруг проектов vdproj, чтобы убедиться, что они потерпели неудачу.)

Один из способов предотвратить регистрацию этих сбоев - создать конфигурацию, скомпилированную для вашей Team Build, которая не включает ваши файлы vdproj (если сбойные проекты действительно вызывают у вас проблемы).

Лучший способ получить файлы msi и exe - запустить Visual Studio в ваших проектах vdproj. Добавьте пользовательскую цель после завершения сборки и вызовите Visual Studio вручную в своем проекте. (Я не знаю, почему ваши файлы msi и exe генерируются, если вы этого не делаете.)

В качестве альтернативы рассмотрим установщик Windows XML (WIX). Версия 3 (которая очень близка к полной версии и имеет стабильную бета-версию) использует MSBuild. Это означает, что ваши решения могут быть скомпилированы через Team Build без каких-либо специальных действий. Единственным недостатком является то, что WIX не может быть нацелен на «Любой ЦП», но он может быть частью цели уровня решения «Любой ЦП», если он нацелен на конкретную платформу.

...