“可能的重复”旨在打开文件,就像在记事本中一样,我正在寻找打开.csproj / .sln文件而不仅仅是原始文本文件,而是作为完整的项目/解决方案,所以例如如果我的路径是.sln文件,应该打开整个解决方案,而不仅仅是单个.sln文件。
我以这种方式打开项目/解决方案:
var psi = new System.Diagnostics.ProcessStartInfo(path);
System.Diagnostics.Process.Start(psi);
其中path
是项目/解决方案的路径。它工作正常,但它会启动另一个 Visual Studio来打开给定的文件。
我想在已经运行的VS中打开项目/解决方案(如果没有,在这种情况下,确保启动VS)。
怎么做?
答案 0 :(得分:2)
我要添加此内容,以防有人像我在2019年那样仍在寻找该问题的答案。
“ 如何在已经运行的Visual Studio中以编程方式打开项目/解决方案 ? ”
我也添加了如何打开文件夹或文件,只是为了完整性。
请确保将包含这些语句的代码放在try/catch
中,以处理找不到的路径等。
假设:
using EnvDTE;
using EnvDTE80;
using Microsoft.VisualStudio.Shell;
var dte = Package.GetGlobalService(typeof(_DTE)) as DTE2;
dte.Solution.Open(path);
dte.ExecuteCommand("File.OpenProject", path);
dte.ExecuteCommand("File.OpenFolder", path);
dte.ExecuteCommand("File.OpenFile", path);
我希望能对某人有所帮助。