Engine.ID 属性

获取调试引擎的 ID GUID。

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
ReadOnly Property ID As String
string ID { get; }
property String^ ID {
    String^ get ();
}
abstract ID : string with get
function get ID () : String

属性值

类型:String
一个以 GUID 格式包含调试引擎 ID 的字符串。

备注

备注

当您使用 Transact-SQL 调试引擎记录某个宏并附加到调试进程时,该宏将返回对同一个引擎名的两个单独引用。例如,dbgeng(0) = transprt.Engines.Item("T-SQL") 和 dbgeng(1) = transprt.Engines.Item("T-SQL")。之所以发生此情况,是因为在 Visual Studio 中实际存在两个基础 Transact-SQL 调试引擎:一个用于 SQL Server 2005 调试引擎,另一个用于 SQL Server 2000 和 SQL Server 7 的 Transact-SQL 调试引擎。在通过 UI 附加到调试引擎进程时,将会自动引用这两个引擎,但是在自动化代码中,必须通过使用它们的唯一标识符 GUID 来引用它们。SQL Server 2005 的 GUID 是 {1202F5B4-3522-4149-BAD8-58B2079D704F},Transact-SQL 调试引擎的 GUID 是 {5AF6F83C-B555-11D1-8418-00C04FA302A1}。因此,上述调用应当分别更改为 dbgeng(0) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}") 和 dbgeng(1) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}")。

示例

' Macro code.
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualBasic.ControlChars

Public Module Module1

    Sub ShowDefaultEngines()
        Dim dbg As EnvDTE80.Debugger2
        dbg = DTE.Debugger

        dbg.HexDisplayMode = True

        Dim transport As EnvDTE80.Transport
        transport = dbg.Transports.Item("default")

        Dim engine As EnvDTE80.Engine
        Dim strEngineList As String
        For Each engine In transport.Engines
            strEngineList = strEngineList + engine.Name + ", " + _
            engine.ID + ", " + engine.AttachResult.ToString + NewLine
        Next
        MsgBox(strEngineList)
    End Sub
End Module

.NET Framework 安全性

请参阅

参考

Engine 接口

EnvDTE80 命名空间

Engines