代码之家  ›  专栏  ›  技术社区  ›  David Grayson

在VS2008之外的安装项目中是否有执行“刷新依赖项”的方法?

  •  6
  • David Grayson  · 技术社区  · 16 年前

    我有几个项目的解决方案。其中之一是一个设置项目。如果在解决方案资源管理器中展开安装项目,则会看到检测到的依赖项节点。如果右键单击它,就会得到一个名为刷新依赖项的菜单项。这将刷新基于安装程序中包含的文件的所有依赖项。

    我正在询问是否可以使用devenv.com或msbuild在Visual Studio外部执行此操作。

    我之所以希望这样做,是因为我正在使用CruiseControl.net进行持续集成,在一些解决方案中,我发现由于我自动构建项目的方式,安装输出缺少一些依赖项。

    更新:

    结果发现,我的设置对安装项目在Visual Studio中的工作方式不是很友好。最后,我使用后期构建事件来创建整个应用程序结构,准备好直接复制到计算机上,然后开箱即用。我不再在Visual Studio中使用安装程序项目,除非我真的需要这样做。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Erick Sgarbi    16 年前

    录制或创建宏:

    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.refreshdependencies C:\myprojects\myapp\”