Я пытаюсь создать надстройку в Visual Studio 2012, которая будет выполнять операции после выполнения программы. Это требует от меня знать, когда был введен режим разработки. У меня есть код ниже, который работает, но он находится на C#, и я работаю в VB.NET.Определить, когда Visual Studio вступила в дизайнерский режим VB.NET
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
.
.
.
//Initialize event handlers for host
_debuggerEvents = _applicationObject.Events.DebuggerEvents;
_debuggerEvents.OnEnterDesignMode += new _dispDebuggerEvents_OnEnterDesignModeEventHandler(OnEnterDesignMode);
}
/// <summary>Handles when the host application object's debugger enters design mode (is done debugging).</summary>
/// <param name="reason">The reason that the host application object is entering design mode.</param>
public static void OnEnterDesignMode(dbgEventReason reason)
{
System.Windows.Forms.MessageBox.Show("ADD-IN DEBUG: Debugger enters design mode.");
}
Я попытался преобразовать его в VB эквивалент в результате которого
Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As Array) Implements IDTExtensibility2.OnConnection
.
.
.
' Initialize event handlers for host
_debuggerEvents = _hostAppObj.Events.DebuggerEvents
_debuggerEvents.OnEnterDesignMode += New _dispDebuggerEvents_OnEnterDesignModeEventHandler(AddressOf _debuggerEvents.OnEnterDesignMode)
End Sub
Public Sub OnEnterDesignMode(ByVal reason As dbgEventReason)
System.Windows.Forms.MessageBox.Show("ADD-IN DEBUG: Debugger enters design mode.")
End Sub
Visual Studio пометил оба вхождения «_debuggerEvents.OnEnterDesignMode» с пометкой «Late связанной разрешения, могут возникнуть ошибки во время выполнения. " Я не вижу ошибок во время выполнения, но я никогда не вижу, чтобы окно сообщения всплывало с уведомлением о том, что режим разработки был введен как версия C#. Какие-нибудь советы?
Спасибо.
Используйте 'AddHandler' вместо того, чтобы использовать' '+ = метод присвоения EventHandler. – Styxxy
Большое вам спасибо! – janovak
Я добавил его в качестве ответа. – Styxxy