【问题标题】:Open a Visual Studio Solution with a Visual Studio Add-in使用 Visual Studio 加载项打开 Visual Studio 解决方案
【发布时间】:2013-07-22 21:36:57
【问题描述】:

我有一个 Visual Studio 插件,我想打开一个解决方案。如何在当前运行的 Visual Studio 实例中打开解决方案。有小费吗?我的外接程序是用 VB.NET 编写的。

到目前为止,我有 myStreamWriter.WriteLine("start mySolution.sln /D .") 写入命令提示符。这会在 Visual Studio 2012 中打开解决方案,但是,它会在 Visual Studio 的新实例中打开,而不是在已运行的实例中打开。有什么建议吗?

【问题讨论】:

  • 到目前为止,我有 "myStreamWriter.WriteLine("start mySolution.sln /D .")" 写入命令提示符。这会在 Visual Studio 2012 中打开解决方案,但是,它会在 Visual Studio 的新实例中打开,而不是在已运行的实例中打开。有什么建议吗?

标签: vb.net visual-studio visual-studio-2012 add-in


【解决方案1】:

您应该使用ExecuteCommand 来执行标准的File.OpenProject 命令。类似于使用 File>Open>Solution

在 C# 中可以这样做:

string path = @"C:\Users\xyz\Documents\Visual Studio 2010\Projects\MyAddin1\MyAddin1.sln";
path = "\"" + path + "\"";
_applicationObject.ExecuteCommand("File.OpenProject", path);

转换为 VB.NET:

Dim path As String
path = """C:\Users\xyz\Documents\Visual Studio 2010\Projects\MyAddin1\MyAddin1.sln"""
DTE.ExecuteCommand("File.OpenProject", path)

如果你想知道命令是否完成,你应该为命令创建一个事件处理程序。

【讨论】:

  • 这实际上打开了解决方案,但它没有在文件|最近的项目和解决方案中列出...你知道为什么吗?
  • 我只能猜测,但这可能是因为 File.OpenProject 在您在 VS 中打开解决方案时用作后续操作,并且当您从菜单命令执行此操作时,旁边还会运行其他相邻操作,或 VS 使用菜单或起始页中的另一个命令。
猜你喜欢
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2012-07-04
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
相关资源
最近更新 更多