Visual Studio菜单对话框命令与描述不同,具体取决于您现用的设置或版本。这些方法都是通过现在的开发形式开发的。要想要改变设置,请在“工具”菜单上选择“导入和导出设置”。
有些情况下,以编程方式创建 Visual Studio 的新实例或附加到已经在运行的 Visual Studio 的特定实例是很有用的。如果 Visual Studio 的两个实例运行在一个系统上并且打开了同样的解决方案(例如,一个实例执行解决方案生成,另一个执行调试生成),可以对外接程序进行编程以区分这两个实例。#t#
例如,您可以:
基于文件或解决方案的路径启动 Visual Studio 的一个实例。基于文件或解决方案的路径附加到 Visual Studio 的一个实例。Visual Studio菜单将文件或解决方案加载到 Visual Studio 的一个现有实例中。在以下情况下,在关闭实例的位置创建 Visual Studio 的一个新实例:
Visual Studio菜单和 Solution 对象上的外部引用计数均为 0。-和-集成开发环境 (IDE) 未显示给用户或不接受用户的控制。即使在以下情况下,仍然在加载实例的位置创建 Visual Studio 的一个新实例:
DTE 对象和 Solution 对象上的外部引用计数均为 0。IDE 已显示给用户。-和-IDE 处于用户的控制下。
若要创建 Visual Studio 的新实例,请使用 CreateObject 函数 (Visual Basic) 或 System.Activator.CreateInstance。在 Visual Basic 中使用 CreateObject 函数时,可以传递 "VisualStudio.DTE.8.0" 或 "VisualStudio.Solution.8.0." 的值。Visual Studio菜单下面的示例演示这三种方法。
- ' CreateObject method 1 - VisualStudio.DTE.8.0.
- Public Sub OnConnection(ByVal application As Object, ByVal _
- connectMode As ext_ConnectMode, ByVal addInInst As Object, _
- ByRef custom As Array) Implements IDTExtensibility2.OnConnection
- _applicationObject = CType(application, DTE2)
- _addInInstance = CType(addInInst, AddIn)
- CreateNewInstance1(_applicationObject)
- End Sub
- Private Sub CreateNewInstance1(ByVal dte As DTE2)
- Dim inst As Object
- Dim dte80Obj As EnvDTE80.DTE2
- inst = Microsoft.VisualBasic.Interaction. _
- CreateObject("VisualStudio.DTE.8.0", "")
- dte80Obj = CType(inst, EnvDTE80.DTE2)
- MsgBox(dte80Obj.DisplayMode.ToString)
- End Sub