【问题标题】:Is there a way to perform a "Refresh Dependencies" in a setup project outside VS2008?有没有办法在 VS2008 之外的安装项目中执行“刷新依赖项”?
【发布时间】:2008-09-05 11:49:02
【问题描述】:

我有几个项目的解决方案。其中之一是设置项目。如果您在解决方案资源管理器中展开设置项目,您会看到一个 Detected Dependencies 节点。如果你右键单击它,你会得到一个名为 Refresh Dependencies 的菜单项。这会根据设置中包含的文件刷新所有依赖项。

我问我是否可以在 Visual Studio 之外使用 devenv.com 或 MSBuild 执行此操作。

我想要这个是因为我使用 CruiseControl.NET 进行持续集成,并且在某些解决方案中我发现设置输出缺少一些依赖项,因为我自动构建项目的方式。

更新:

事实证明,我的设置对安装项目在 Visual Studio 中的工作方式不是很友好。我最终使用 Post Build Events 来创建整个应用程序结构,以便将其复制到计算机并开箱即用。我不再使用 Visual Studio 中的设置项目,除非我真的必须这样做。

【问题讨论】:

    标签: c# visual-studio-2008 msbuild installation cruisecontrol.net


    【解决方案1】:

    录制或创建宏:

    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\"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多