5

Ich habe eine Lösung mit mehreren Projekten. Einer von ihnen ist ein Setup-Projekt. Wenn Sie das Installationsprojekt im Projektmappen-Explorer erweitern, wird der Knoten Erkannte Abhängigkeiten angezeigt. Wenn Sie mit der rechten Maustaste darauf klicken, erhalten Sie einen Menüpunkt namens Abhängigkeiten aktualisieren. Dadurch werden alle Abhängigkeiten basierend auf den im Setup enthaltenen Dateien aktualisiert.Gibt es eine Möglichkeit, ein "Refresh Dependencies" in einem Setup-Projekt außerhalb von VS2008 durchzuführen?

Ich frage, ob ich diese Aktion außerhalb von Visual Studio ausführen kann, entweder devenv.com oder MSBuild.

Ich möchte das, weil ich CruiseControl.NET für die kontinuierliche Integration verwenden und in einigen Lösungen fand ich, dass die Setup-Ausgabe einige Abhängigkeiten aufgrund der Art, wie ich die Projekte automatisch erstellt fehlt.

Update:

Es stellte sich heraus, dass mein Setup nicht sehr freundlich ist, wie Setup-Projekte in Visual Studio arbeiten. Am Ende habe ich Post Build Events verwendet, um die gesamte Anwendungsstruktur zu erstellen, die bereit ist, einfach auf einen Computer kopiert zu werden und sofort einsatzbereit zu sein. Ich verwende keine Setup-Projekte in Visual Studio mehr, es sei denn, ich muss es wirklich tun.

Antwort

2

Aufnahme oder ein Makro erstellen:

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 

Dann rufen Sie einfach das Makro in der Befehlszeile:

devenv/Befehl "Macros.MyMacros.RefreshDependencies C: \ MyProjects \ MyApp \"

Verwandte Themen