2012-04-17 10 views
1

は私が困っここにあります古いVS2008 ExpressionTree deubggerビジュアライザのサンプルを取得したのです:http://code.msdn.microsoft.com/Visual-Studio-2008-C-d295cdbaExpressionTreeデバッガビジュアライザとVS2010

はVS2010での作業します。

サンプルは以前のバージョンの.NET向けに作成されているため、最新のVS2010 DebuggerVisualizers.dllを使用して再コンパイルする必要があることを理解しています。 VS2010

  • http://code.msdn.microsoft.com/Visual-Studio-2008-C-d295cdba
  • 開いているプロジェクトに変更.NET4.0
  • を対象とするプロジェクトを変更:だからここ

    は、私がリンクから

    1. ダウンロードVS2008のサンプルは、上記のやっていることですDebuggerVisualizers.dllのこの場所を指す参照先: C:\ Program Files (x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ ReferenceAssemblies \ v2.0 \ Microsoft.V isualStudio.DebuggerVisualizers.dll
    2. プロジェクトを構築して、実際に式ツリーを視覚化できることを確認しました。すべてのサンプル次の場所

      ...ビジュアライザ \ Visual Studioの2010 \ \ドキュメントにコピーされExpressionTreeVisualizer.dll

    3. から変更スタンドアロンのプロジェクトで正常に動作します...の\ Program Files \ MicrosoftのVisual Studio 10.0 \ Common7 \ Packages \ Debugger \ Visualizers

    しかし、VS2010ではデバッガビジュアライザがまったく表示されません。

    誰もが私はここで起こったかを見つけるために管理し、間違った

  • 答えて

    1

    OKをやっているか知っています。これは、動作させたいそれぞれのタイプのデバッガ・ビジュアライザのための別個のアセンブラ・レベル属性を入れなければならないということです。

    残念ながら、継承ツリーを歩くことでそれを知るには賢明ではないようです。だから私はすべてを行いましたが、サンプルコードの "ExpressionTreeVisualizer"クラスに次の属性を含めるようにソースコードを修正しました。

    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(Expression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(BinaryExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(BlockExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(ConditionalExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(ConstantExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(DebugInfoExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(DefaultExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(DynamicExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(GotoExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(IndexExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(InvocationExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(LabelExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(LambdaExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(ListInitExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(LoopExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(MemberExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(MemberInitExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(MethodCallExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(NewArrayExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(NewExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(ParameterExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(RuntimeVariablesExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(SwitchExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(TryExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(TypeBinaryExpression), Description = "Expression Tree Visualizer")] 
    [assembly: DebuggerVisualizer(typeof(ExpressionTreeVisualizerForVisualStudio2010), typeof(ExpressionTreeVisualizerObjectSource), 
        Target = typeof(UnaryExpression), Description = "Expression Tree Visualizer")] 
    
    +0

    これは、完全な式のリストのためだけに価値がありました。 –

    関連する問題