5

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

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

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

Update:

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

ответ

2

запись или создать макрос:

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/команда "Macros.MyMacros.RefreshDependencies C: \ MyProjects \ MyApp \"