如何使用 C# 以编程方式在 "Open Web Site Mode" 中打开 Visual Studio?

How do I open Visual Studio in "Open Web Site Mode" programmatically with C#?

我正在用 C# 开发一个 Win Forms 应用程序。 用户在其本地驱动器上浏览 .NET 项目。 He/she 选择要在网站模式下打开的 .NET 项目。

功能(用 C# 开发): 在 C# 代码中,是否有可能允许用户在 Visual Studio 2008 中将项目作为 网站项目 打开。

我尝试的第一件事就是将文件夹路径传递给 devenv,看看会发生什么。

查看此页面 (https://msdn.microsoft.com/en-us/library/19sf6kk3.aspx) 看起来您可以在启动时使用 /Command 开关 devenv.exe。然后进入 Visual Studio(工具 > 选项 > 键盘)我看到有一个 File.OpenWebSite 命令。我没试过这个,但是把这些东西放在一起我假设你可以做类似的事情:

devenv.exe /command "File.OpenWebSite" [path]

[path] 部分将是一个大问号。 File.OpenWebSite 命令可能只打开 Visual Studio 中的对话框。

您还可以查看 IDE 本身的自动化,正如本 post 所讨论的那样。它适用于 VS2005,但可能仍适用于较新的版本。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/3c8e5b16-b616-4de4-9744-6594be4f474c/automating-opening-of-a-website-in-vs2005?forum=vsx

System.Type type = Type.GetTypeFromProgID("VisualStudio.DTE.9.0", true);
DTE dte = (DTE)System.Activator.CreateInstance(type, true);

VsWebSite.VSWebPackage webPkg = (VsWebSite.VSWebPackage)dte.GetObject("WebPackage");
webPkg.OpenWebSite(path, VsWebSite.OpenWebsiteOptions.OpenWebsiteOption_None, false);