Вы должны использовать некоторую библиотеку трассировки, такую как one , которую вы можете скачать здесь .Теперь вы можете украсить ваши соответствующие методы с помощью таких операторов:
using ApiChange.Infrastructure;
class MyAddin
{
static TypeHashes myType = new TypeHashes(typeof(MyAddin);
void RelevantMethod()
{
using (Tracer t = new Tracer(myType, "RelevantMethod"))
{
....
if(bLoaded == false)
t.Error("Could not load adding because of {0}", reason);
}
}
}
Затем вы можете включить трассировку через переменную окружения _TRACE
set _Trace=debugoutput
DebugOutput можно просматривать с помощью инструмента SysInternals DbgView (без прикрепления просто запустите его и посмотрите следы).Или вы выполняете трассировку до файла
set _Trace=file
Файл трассировки находится там, где исполняемый файл, например, Nunit.exe.txt.Если вы установите _TRACE для некоторой случайной строки, она будет прослеживать помощь до консоли и OutputDebugString, чтобы помочь вам.
Почему эта библиотека трассировки?Это на самом деле единственный, который может отследить любое исключение, когда ваш метод оставлен.Это работает, когда метод содержит использование операторов для трассировки, как показано выше.Если вы на самом деле виноваты в том, что NUnit решил игнорировать ваш плагин, вы можете узнать об этом сейчас.Вывод будет выглядеть следующим образом:
* ApiChange.IntegrationTests.Diagnostics.TracingTests.Demo_Show_Leaving_Trace_With_Exception 18: 57: 46.665 03064/05180 <{{> ApiChange.Integration.TracingTests.SomeMethod 18: 57: 46.668 03064/05180 <{{> ApiChange.IntegrationTests.Diagnostics.TracingTests.SomeOtherMethod 18: 57: 46.670 03064/05180 <}} <ApiChange.IntegrationTestoTessOnt.NotImplementedException: Привет, это ошибка в ApiChange.IntegrationTests.Diagnostics.TracingTests.FaultyMethod () в ApiChange.IntegrationTests.Diagnostics.TracingTests.SomeOtherMethod () в ApiChange.Text.Demo_Show_Leaving_Trace_With_Exception () 18: 57: 46.670 03064/05180 <}} <ApiChange.IntegrationTests.Diagnostics.TracingTests.SomeOtherMethod Длительность 2ms 18: 57: 46.689 03064/05180Tege.Inti.cs.TracingTests.SomeMethod Длительность 24 мс </p>
Это позволит легко выяснить, почему ваш Addin вообще не использовался.И вам не нужен отладчик; -).
Ваш, Алоис Краус