我正在尝试编写一个 Visual Studio 扩展,它允许我在一个解决方案中发布多个 Web 应用程序,类似于在所有项目上使用一键发布功能。
DTE2 service = (DTE2)this.GetService(typeof(DTE));
Projects projects = service.Solution.Projects;
SolutionBuild2 build = (SolutionBuild2)service.Solution.SolutionBuild;
foreach (Project project in projects)
{
build.PublishProject("Release", project.UniqueName, true);
}
当我尝试运行此代码时,输出窗口中的唯一结果是:
Error: Object reference not set to an instance of an object.
========== Publish: 0 succeeded, 0 failed, 0 skipped ==========
......这并没有告诉我太多。有没有办法找出问题所在?
我还看到了一个接口IVsPublishableProjectCfg,但似乎没有任何关于如何使用它的示例。
是否有另一种以编程方式将 Web 应用程序发布到某个目录的方法,类似于一键发布功能的工作原理?