我为驻留在 ac# .net4.5 程序集中的自定义类创建了一个调试器可视化工具。在 IVisualizerObjectProvider 上调用 GetObject 时,System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() 函数会抛出无法找到程序集异常。
CustomClass 和父类引用的所有类都具有 [Serializable] 属性。该程序集与 MoreLinq 依赖项一起放置在 MyDocuments\Visual Studios 2013\Visualizers 文件夹中的 Debugger Visualizer 程序集旁边。
任何人都可以给我任何指示吗?
谢谢,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.VisualStudio.DebuggerVisualizers;
[assembly: System.Diagnostics.DebuggerVisualizer(
typeof(CustomClassVisualiser), typeof(VisualizerObjectSource),
Target = typeof(AnotherAssemblyNamespace.CustomClass), Description = "Custom class Visualiser")]
namespace Test
{
using System.Windows;
using Microsoft.VisualStudio.DebuggerVisualizers;
public class CustomClassVisualiser : DialogDebuggerVisualizer
{
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
MessageBox.Show("In");
var objectToVisualise = objectProvider.GetObject();// Failing here!! Unable to find assembly System.Runtime.Serialization.SerializationException
var type = objectToVisualise.GetType();
MessageBox.Show(type.FullName);
MessageBox.Show("");
//window.ShowDialog();
}
}
}