Click here to Skip to main content
Click here to Skip to main content
Go to top

XML Visualizer v.2

, 9 May 2014
Rate this:
Please Sign up or sign in to vote.
XML Visualizer v.2 improves the standard XML Visualizer in Visual Studio 2005, 2008, 2010, 2012 and 2013.

Introduction

XML Visualizer v.2 improves the standard XML Visualizer in Visual Studio 2005, 2008, 2010, 2012 and 2013.

  • "That's Hot! Every Developer should go and have a nicer Debugger Visualizer." - Channel9
  • "This is a real gem. I have been copying and pasting XML from the text visualizer to VSTO because the built-in XML visualizer pretty much sucks." - Asher Barak
  • "Developers can definitely be more productive if they use this tool." - .NET Developer
  • "For anyone who works a lot with XML, this extension is an absolute must. Good job." - LieberLieber
  • "If you've ever needed to work with XML files in Windows, and can't afford XMLSpy, get this now. Even if you don't have Visual Studio, the standalone app is worth its weight in bits." - SWiK Review

XML Visualizer v.2 is a free debug visualizer for Visual Studio 2005, 2008, 2010, 2012 and 2013. It uses Internet Explorer as the XML rendering engine and features many improvements over the standard XML Visualizer:

  • Execution of XPath queries and use of XPath functions
  • Create, edit and apply XSL transformations
  • Editor with both XML and XSLT debugging capabilities
  • Inject XML back into the running application
  • Validate XML and XSL against XSD
  • Search functionality

XML Visualizer v.2 works in all editions of Visual Studio 2005, 2008, 2010, 2012 and 2013 including Express Editions.

XML Visualizer v.2 is also available as a standalone application and as a User Control.

See Channel9 video review here.

See .NET Developer review here.

XMLVisualizer/pic2.gif

XMLVisualizer/pic3.gif

XMLVisualizer/pic4.gif

XMLVisualizer/pic5.gif

XMLVisualizer/pic6.gif

Visual Studio Plugin Installation

Only the compiled DLL, XmlVisualizer.dll, is required to run and use XML Visualizer v.2.

Place XmlVisualizer.dll in:

  • My Documents\[Visual Studio version]\Visualizers, e.g.: My Documents\Visual Studio 2013\Visualizers (for Visual Studio 2013)
  • If the Visualizers directory doesn't exist, then create it manually.

    If you want to use the visualizer for remote debugging, copy XmlVisualizer.dll to the same path on the remote computer.

    If Visual Studio is open, then restart Visual Studio.

    Source Code

    The Source Code includes the following projects:

    1. Visualizer
    2. DebugVisualizer
    3. TestDebugVisualizer
    4. StandAloneVisualizer
    5. TestStandAloneVisualizer

    Visualizer contains the primary Visualizer User Control and a form hosting the Visualizer User Control. The User Control contains the core functionality of XML Visualizer v.2.

    DebugVisualizer is used to bind the Visual Studio debugger to the Visualizer.

    TestDebugVisualizer is used to test the XML Visualizer v.2.

    StandAloneVisualizer is the standalone version of XML Visualizer v.2.

    TestStandAloneVisualizer is used to test the standalone version of XML Visualizer v.2.

    Compiled assemblies will be placed in a "runtime" folder for the DebugVisualizer and the StandAloneVisualizer projects.

    The Source Code is in C# and is available for Visual Studio 2012/2013 (for version 7.0 and above), and Visual Studio 2008 and Visual Studio 2010 (for version 6.9).

    To build the DebugVisualizer and the StandAloneVisualizer projects, it requires ILMerge (not included) in XML Visualizer v.2 Source Code. Download ILMerge from here. Place ILMerge.exe in the same directory as XmlVisualizer.sln.

    Note: Icons used in the application are FamFamFam Silk Icons from here.

    Standalone

    Standalone version of XML Visualizer v.2 can be used without Visual Studio.

    User Control

    By adding the XmlVisualizer.dll to the Visual Studio Toolbox, the Visualizer can be used as a User Control and thereby making all the features of XML Visualizer v.2 available in your application.

    Please note that if you add the XmlVisualizer.dll as a User Control to the Visual Studio Toolbox, then the SharpDevelop TextEditor User Control will also be added to the toolbox.

    Troubleshooting

    Troubleshooting for the following error (for version 6.9):

    Error: System.InvalidCastException: 
    Unable to cast object of type 'XmlVisualizer.Visualizer' 
    to type 'Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer'. 
    at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.
    DelegatedHost.CreateViewer(IntPtr hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)

    If you have both Visual Studio 2005 and Visual Studio 2008 installed, there can be a conflict between Microsoft.VisualStudio.DebuggerVisualizers.dll version 8.0.0.0 (used by Visual Studio 2005) and Microsoft.VisualStudio.DebuggerVisualizers.dll version 9.0.0.0 (used by Visual Studio 2008).

    Microsoft.VisualStudio.DebuggerVisualizers.dll version 9.0.0.0 replaces all functionality of version 8.0.0.0 and version 9.0.0.0 is also used by newer versions of Visual Studio 2005 (i.e. Visual Studio 2005 Express Editions).

    To use Microsoft.VisualStudio.DebuggerVisualizers.dll version 9.0.0.0 and get support for XML Visualizer v.2, you'll have to do the following:

    1. Make sure that you have the .NET Framework Configuration Tool (mscorcfg.msc) installed. It's installed with the .NET Framework 2.0 SDK.
    2. Run "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\mscorcfg.msc".
    3. Choose ".NET Framework 2.0 Configuration\My Computer\Configured Assemblies" and then "Configure an Assembly".
    4. Choose "Choose Assembly..." and select "Microsoft.VisualStudio.DebuggerVisualizers". It's important that it's version 8.0.0.0.
    5. Press "Finish".
    6. Choose the "Binding Policy"-tab and for "Requested Version" enter "8.0.0.0", and for "New Version" enter "9.0.0.0".
    7. Press "OK" and restart Visual Studio.

    License

    This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Share

    About the Author

    No Biography provided

    Comments and Discussions

     
    GeneralDog slow with large files PinmemberBuckSaw23-Dec-08 7:20 
    GeneralRe: Dog slow with large files Pinmemberzippy198127-Dec-08 4:25 
    GeneralRe: Dog slow with large files PinmemberLars Hove Christiansen28-Dec-08 21:46 
    GeneralVS 2005 Express problem [modified] PinmemberArchElf16-Dec-08 2:39 
    GeneralRe: VS 2005 Express problem PinmemberLars Hove Christiansen16-Dec-08 9:21 
    GeneralRe: VS 2005 Express problem PinmemberArchElf16-Dec-08 21:06 
    GeneralRe: VS 2005 Express problem PinmemberLars Hove Christiansen16-Dec-08 21:42 
    GeneralRe: VS 2005 Express problem PinmemberLars Hove Christiansen28-Dec-08 22:08 
    It seems like InnerXml and OuterXml are behaving differently. Both are strings and are registered in Visual Studio as strings. But behind the scenes it seems like OuterXml is not handled correctly as a string.
     
    I try to test the Xml Visualizer v.2 with the following:
     
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml("");
    Microsoft.VisualStudio.DebuggerVisualizers.VisualizerDevelopmentHost host = new Microsoft.VisualStudio.DebuggerVisualizers.VisualizerDevelopmentHost(xmlDoc.OuterXml, typeof(XmlVisualizer.DebugVisualizer));
    host.ShowVisualizer();
     
    and get the correct result. When the above works, it should definitely also work when the Xml Visualizer v.2 is invoked directly in debug mode. Actually, when the Xml Visualizer v.2 shows up in the debug visualizer list it should be able to visualize the object. This works on all string objects except for OuterXml, and my conclusion is therefore that OuterXml contains a bug.
     
    To use the Xml Visualizer v.2 with OuterXml you'll then have to do this:
     
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml("");
    string test = xmlDoc.OuterXml;
    test = test;
     
    and then use the debug visualizer on the test string.
     
    Best Regards
    Lars
    GeneralRe: VS 2005 Express problem PinmemberLars Hove Christiansen4-Jan-09 21:03 
    GeneralNot works at all... Pinmemberstmarti5-Nov-08 22:35 
    GeneralRe: Not works at all... Pinmemberstmarti5-Nov-08 22:46 
    GeneralRe: Not works at all... PinmemberLars Hove Christiansen6-Nov-08 4:28 
    GeneralRe: Not works at all... Pinmemberstmarti6-Nov-08 20:21 
    GeneralRe: Not works at all... PinmemberLars Hove Christiansen6-Nov-08 23:18 
    GeneralRe: Not works at all... Pinmemberstmarti7-Nov-08 3:48 
    GeneralRe: Not works at all... PinmemberLars Hove Christiansen9-Nov-08 23:45 
    QuestionVisual 2005 PinmemberGil Shimer26-Oct-08 4:31 
    AnswerRe: Visual 2005 PinmemberLars Hove Christiansen26-Oct-08 23:01 
    GeneralRe: Visual 2005 PinmemberGil Shimer28-Oct-08 4:07 
    GeneralRe: Visual 2005 PinmemberLars Hove Christiansen28-Oct-08 21:58 
    GeneralRe: Visual 2005 PinmemberGil Shimer29-Oct-08 0:33 
    GeneralRe: Visual 2005 PinmemberLars Hove Christiansen29-Oct-08 1:42 
    GeneralRe: Visual 2005 Pinmemberzippy19817-Nov-08 4:36 
    GeneralRe: Visual 2005 Pinmemberzippy19817-Nov-08 11:38 
    GeneralRe: Visual 2005 PinmemberLars Hove Christiansen10-Nov-08 2:12 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    | Advertise | Privacy | Mobile
    Web02 | 2.8.140926.1 | Last Updated 9 May 2014
    Article Copyright 2008 by Lars Hove Christiansen
    Everything else Copyright © CodeProject, 1999-2014
    Terms of Service
    Layout: fixed | fluid