我尝试启动Visual Studio 2017并以编程方式打开解决方案,如下面的代码所示。问题是,当我运行VS2017打开时,加载解决方案并立即关闭。我已经搜索过,但没有找到任何类似问题的人与开放VS解决方案的解决方案相似的代码。可能导致此行为的原因以及如何阻止VS2017立即关闭?从未遇到异常。
private void OpenVisualStudio(string file)
{
try
{
System.Type t = Type.GetTypeFromProgID("VisualStudio.DTE.15.0");
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Activator.CreateInstance(t);
dte.MainWindow.Visible = true;
dte.Solution.Open(file);
}
catch (Exception e)
{
Logger.GetInstance().Write(e.StackTrace, e.Message, LoggingLevel.Error);
}
}
更新 如果我在范围的末尾放置一个断点并在VS完成加载后点击继续,则它不会关闭。检查任务管理器后,似乎Visual Studio的实例根本没有关闭...只有窗口是。即使在手动退出以编程方式创建的VS实例和停止调试会话后,以编程方式创建的实例仍可在任务管理器中看到。
答案 0 :(得分:0)
有dte.MainWindow.Activate()。你尝试过使用它吗? VS实例仍然存在于任务管理器中并且没有完全关闭,但只有当VS被强制/突然关闭时才会发生。
答案 1 :(得分:0)