2017-10-19 33 views
0

私はVisual Studio 2017用の表示デバッガで作業していますが、すべてがうまく構築されますが、そのタイプの表示デバッガの一覧には表示されません。私はVSのtempインスタンスでデバッグを試み、手動でVSIXをインストールしました。私は、私がオンラインで見つけたいくつかのプロジェクトを確認しましたが、すべてが同じように見えます。何が原因でしょうか?私の恐怖は、それが文書化されていない2017年の変更だということです(VS SDK Githubプロジェクトには表示デバッガのサンプルがなく、VSテンプレートもそれを参照しません)。Visual Studioにデバッガが表示されない2017

マイプロジェクトクラスライブラリ、.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"); 
     } 
    } 
} 

UPDATE: VSIXだけでなく出力ファイルも保存するようにプロジェクトファイルを修正しました。 VSIXに実際にDLLが含まれていないことが判明しました。 DLLファイルをDocuments/Visual Studio 2017/Visualizersフォルダにコピーしたときに動作します。私はちょうどVSIXパッケージを理解する必要があると思います!

+0

ここでソリューションを共有していただきありがとうございます。この問題が解決した場合は、問題の解決策を投稿せずに回答として投稿し、回答としてマークしてください。したがって、同じ問題を抱える他のコミュニティメンバーに役立つ可能性があります。素敵な一日を過ごしてください:) –

+0

確かに。その問題は解決されましたが、それでも実際には機能しません。私がVisualizersフォルダにDLLをドラッグすると、動作します。 VSIXにDLLが含まれていても、ProvideAutoLoadがUIContextGuids80.Debuggingに設定されていても、VSIXからはまだ動作しません(パッケージはアクティブになりますが)。私は質問を閉じることができますが、実際には解決されていません... –

答えて

2

明らかに、拡張自体は問題ありません。問題は、VSIXのパッケージ化または実際のビジュアライザの起動によるものです。私はそれについて新しい質問を作成します。

[編集] VSIXパッケージをインストールすると、は、をマネージドデバッガビジュアライザに使用できないことが判明しました。エラーはありませんが、単純に機能しません。 管理デバッガービジュアライザをインストールする方法は、ファイルをVisualizersフォルダにコピーすることです(元の質問の参照)。これは手動またはMSIで行うことができます。これは文書化する必要があります!

+0

あなたはそれを回答としてマークすることができますので、同じ問題を抱えている他のコミュニティメンバーに役立ちます。 –

関連する問題