【发布时间】:2018-03-27 12:08:02
【问题描述】:
我正在尝试启动 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 实例并停止调试会话后,以编程方式创建的实例在任务管理器中仍然可见。
【问题讨论】:
-
当你的方法结束时,里面创建的对象不会超出范围并被垃圾回收吗?
-
这确实在我脑海中浮现,这就是我进行一些测试的原因;似乎如果我在范围的末尾放置一个断点并在 VS 完成加载后点击继续,它不会关闭。但也请参阅更新。
标签: c# visual-studio-2017 devenv