显示调试器未在 Visual Studio 2017 年出现

Display debuggers not showing up in Visual Studio 2017

我一直在为 Visual Studio 2017 开发一个显示调试器,并且一切正常,但它没有出现在该类型的显示调试器列表中。我试过在 VS 的临时实例中调试并手动安装 VSIX。我检查了一些我在网上找到的项目,一切似乎都一样。什么会导致这个?我担心的是 2017 年的变化没有记录(VS SDK Github 项目没有显示调试器示例,VS 模板也没有引用它)。

我的项目是一个 class 库,.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/Visual Studio 2017/Visualizers 文件夹时,它可以正常工作。我想我只需要弄清楚 VSIX 打包!

显然扩展本身没问题。问题在于 VSIX 打包或实际可视化工具的激活。我会为此创建一个新问题。

[编辑] 事实证明,安装 的 VSIX 包不能 用于托管调试器可视化工具。没有错误,但它根本行不通。 安装托管调试器可视化工具的方法是将文件复制到您的可视化工具文件夹(参考原始问题)。您可以手动或使用 MSI 执行此操作。这需要记录在案!