Есть ли способ выполнить «Обновление зависимостей» в проекте установки за пределами VS2008?

StackOverflow https://stackoverflow.com/questions/45593

Вопрос

У меня есть решение с несколькими проектами.Один из них — проект установки.Если вы развернете проект установки в обозревателе решений, вы увидите узел «Обнаруженные зависимости».Если щелкнуть по нему правой кнопкой мыши, появится пункт меню «Обновить зависимости».При этом обновляются все зависимости на основе файлов, включенных в установку.

Я спрашиваю, могу ли я выполнить это действие вне Visual Studio, используя devenv.com или MSBuild.

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

Обновлять:

Оказалось, что моя установка не очень совместима с тем, как проекты установки работают в Visual Studio.В итоге я использовал Post Build Events, чтобы создать всю структуру приложения, готовую к простому копированию на компьютер и работе «из коробки».Я больше не использую проекты установки в Visual Studio, если только в этом нет крайней необходимости.

Это было полезно?

Решение

Запишите или создайте макрос:

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module RefreshDependencies
    Sub TemporaryMacro()
        DTE.ActiveWindow.Object.GetItem("Project\Setup1\Setup1").Select(vsUISelectionType.vsUISelectionTypeSelect)
        DTE.ExecuteCommand("Build.RefreshDependencies")
    End Sub
End Module

Затем просто вызовите макрос в командной строке:

devenv /command "Macros.MyMacros.RefreshDependency C:\MyProjects\MyApp\"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top