我一直在为Visual 2017开发一个显示调试器,一切都很好,但是它没有出现在该类型的显示调试器列表中。我尝试过在VS的临时实例中进行调试,并手动安装VSIX。我检查了一些我在网上找到的项目,所有的事情都是一样的。是什么导致的?我担心的是2017年的变化没有文档记录( VS项目没有显示调试器示例,VS模板也没有引用它)。
我的项目是一个类库,.NET 4.6.1、任何CPU、调试或发行版
最简单的例子仍然不起作用,但如下所示:
[assembly: DebuggerVisualizer(typeof(Test.TestVisualizer), typeof(VisualizerObjectSource),
Target = typeof(System.String), Description = "Test Viz")]
namespace Test
{
public class TestVisualizer : DialogDebuggerVisualizer
{
override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
var str = objectProvider.GetObject()?.ToString();
MessageBox.Show($"Value: {str}", "Visualizer");
}
}
}更新:除了VSIX之外,我还修改了项目文件,以便只保存输出文件。事实证明,VSIX实际上并不包含DLL。当我将DLL文件复制到Documents/Visualizers 2017/可视化器文件夹时,它可以工作。我想我只是需要弄清楚VSIX的包装!
发布于 2017-10-20 19:57:27
很显然,扩展本身是好的。问题是VSIX封装或激活实际的可视化工具。我会为此提出一个新的问题。
编辑结果显示,安装的VSIX包不能用于托管调试器可视化器。没有错误,但它根本不起作用。安装托管调试器可视化程序的only方法是将文件复制到可视化器文件夹(原始问题中引用)。您可以手动或使用MSI完成此操作。这需要记录下来!
https://stackoverflow.com/questions/46839608
复制相似问题