有没有办法在 VS2008 之外的安装项目中执行“刷新依赖项”?
-
09-06-2019 - |
题
我有一个包含多个项目的解决方案。其中之一是安装项目。如果在解决方案资源管理器中展开安装项目,您将看到“检测到的依赖项”节点。如果右键单击它,您会看到一个名为“刷新依赖项”的菜单项。这将根据安装程序中包含的文件刷新所有依赖项。
我询问是否可以使用 devenv.com 或 MSBuild 在 Visual Studio 之外执行此操作。
我想要这个是因为我使用 CruiseControl.NET 进行持续集成,并且在某些解决方案中,我发现由于我自动构建项目的方式,设置输出缺少一些依赖项。
更新:
事实证明,我的设置对于安装项目在 Visual Studio 中的工作方式不太友好。我最终使用构建后事件来创建整个应用程序结构,准备好复制到计算机上并开箱即用。我不再使用 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.RefreshDependency C:\MyProjects\MyApp\”
不隶属于 StackOverflow