Я планировал построить пакет, который облегчит разработчикам в моей компании. Например, он может искать отсутствующую таблицу через «неверный объект». Как мне создать для этого VSIX? Это мое до сих пор кодирование: < /p>
_dte = (DTE2)await GetServiceAsync(typeof(SDTE));
Assumes.Present(_dte);
_debuggerEvents = _dte.Events.DebuggerEvents;
_debuggerEvents.OnExceptionThrown += DebuggerEvents_OnExceptionThrown;
private void DebuggerEvents_OnExceptionThrown(
string ExceptionType,
string Name,
int Code,
string Description,
ref dbgExceptionAction ExceptionAction)
{
ThreadHelper.ThrowIfNotOnUIThread();
System.Diagnostics.Debug.WriteLine($"[VSIX] Exception: {ExceptionType} - {Description}");
try
{
var thread = _dte.Debugger.CurrentThread;
foreach (StackFrame frame in thread.StackFrames)
{
if (frame is EnvDTE90a.StackFrame2 frame2)
{
string file = frame2.FileName;
int line = (int)frame2.LineNumber;
if (!string.IsNullOrEmpty(file))
{
System.Diagnostics.Debug.WriteLine($"[VSIX] Location: {file}:{line}");
break;
}
}
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("[VSIX] Failed to resolve stack frame: " + ex.Message);
}
}
< /code>
Я вызвал элемент меню в тестовом окне Visual Studio, но напрасным. Другой проект, который я сделал, в котором используется код "SvstableManager". Но это не известно в моем проекте C#. Я установил < /p>
[*] microsoft.visualstudio.sdk microsoft.visualstudio.shell.15.0 < /li>
/>microsoft.visualstudio.shell.interop
< /ul>
Но еще. < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ime-errors