2016-05-27 30 views
-1

Ich bin eine Win Forms-Anwendung mit C# entwickelt. Der Benutzer sucht auf seinem lokalen Laufwerk nach .NET-Projekten. Er wählt die .NET-Projekte aus, die im Website-Modus geöffnet werden sollen.Wie öffne ich Visual Studio im "Open Web Site Mode" programmatisch mit C#?

Funktionalität (in C# entwickeln) : Gibt es eine Möglichkeit, in C# -Code, dem Benutzer zu ermöglichen Projekte zu öffnen, wie Web Site Projekte in Visual Studio 2008.

Antwort

0

der ersten Was ich versuchen würde ist, einfach einen Ordnerpfad an devenv zu übergeben und zu sehen, was passiert.

Mit Blick auf diese Seite (https://msdn.microsoft.com/en-us/library/19sf6kk3.aspx) sieht es so aus, als könnten Sie den Befehl/verwenden, wenn Sie devenv.exe starten. Dann gehe ich in Visual Studio (Extras> Optionen> Tastatur) Ich sehe, es gibt einen File.OpenWebSite Befehl. Ich habe nicht versucht, aber die Dinge, die Zusammenstellung ich nehme an, Sie so etwas wie tun könnten:

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

Der [path] Teil wird die großen Fragezeichen sind. Der Befehl File.OpenWebSite öffnet möglicherweise nur das Dialogfeld in Visual Studio.

Sie könnten auch einen Blick auf die Automatisierung der IDE selbst werfen, wie dieser Beitrag diskutiert. Es ist für VS2005, könnte aber auch für neuere Versionen funktionieren.

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); 
+0

, wenn Sie die Deklaration von DTE abgeschlossen ist, kann ich dies als Antwort akzeptieren. – SamekaTV