Visual Studio не загружает мой визуализатор отладчика

Я написал свой собственный визуализатор отладчика.

Он и его атрибуты находятся в своей сборке. В сборке, содержащей класс для отладки, нет ссылок или атрибутов - я хочу сделать dll-файл, который не будет использоваться людьми.

Класс, который я пытаюсь отладить, является универсальным.

[Serializable]
public class FinCellTable<S> : IFinCellTable, IEnumerable<List<FinCell.IFinCell>>
    where S : class, FinCell.IFinHeaderCell, FinCell.IFinCell, new()

Вот визуализатор:

[assembly: System.Diagnostics.DebuggerVisualizer(
        typeof(Financials.Debugging.CellTableVisualizer),
        typeof(VisualizerObjectSource),
        Target = typeof(Financials.Transformation.IFinCellTable),
        Description = "FinCell Table Visualizer")]
[assembly: System.Diagnostics.DebuggerVisualizer(
        typeof(Financials.Debugging.CellTableVisualizer),
        typeof(VisualizerObjectSource),
        Target = typeof(Financials.Transformation.FinCellTable<Financials.FinCell.FinHeaderCell>),
        Description = "FinCell Table Visualizer")]

namespace Financials.Debugging
{
    public class CellTableVisualizer : DialogDebuggerVisualizer
    {
        protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
        {
            if (windowService == null) throw new ArgumentNullException("windowService");
            if (objectProvider == null) throw new ArgumentNullException("objectProvider");

            var data = (IFinCellTable)objectProvider.GetObject();
            using (var displayForm = new CellTableVizForm())
            {
                displayForm.PopulateForm(data);
                windowService.ShowDialog(displayForm);
            }
        }
    }
}

Я использую Visual Studio 2010, а следующий каталог содержит .dll и .pdb сборки Visualizer:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\Visualizers

Я ставлю точку останова на экземпляр IFinCellTable, который является конкретно FinCellTable. Он не показывает увеличительное стекло.

Я отлаживал Visual Studio, используя другую Visual Studio, так как первый VS отлаживал. Я наблюдал за выходным окном как первый VS, загруженный DLL. Когда я запустил визуализатор для таблицы данных, вторая VS выдала, что она загрузила Microsoft.VisualStudio.DebuggerVisualizers.dll и Microsoft.VisualStudio.Debugger.DataSetVisualizer.dll (последний из правильного каталога, который я сказал выше). (Окно «Модули» ведет себя / показывает то же самое.)

Очевидно, что моя сборка отладчика Visualizer не загружается VS, поэтому она не знает, чтобы показать увеличительное стекло.

Как вы видите студия для загрузки визуализаторов заранее, так что вставные визуализаторы работают , а вы - нет Вам не нужно редактировать исходный код?

6
задан Omer Raviv 12 February 2011 в 12:18
поделиться