有没有一种方法可以在VS2008之外的安装项目中执行"刷新依赖项"?
时间:2020-03-05 18:48:09 来源:igfitidea点击:
我有几个项目的解决方案。其中之一是安装项目。如果在解决方案资源管理器中展开安装项目,则会看到"检测到的依赖关系"节点。如果右键单击它,将得到一个名为"刷新依赖关系"的菜单项。这将根据安装程序中包含的文件刷新所有依赖项。
我问我是否可以使用devenv.com或者MSBuild在Visual Studio外部执行此操作。
我想要这个是因为我使用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 /命令" Macros.MyMacros.RefreshDependencies C:\ MyProjects \ MyApp "