Click here to Skip to main content
15,891,375 members
Articles / Programming Languages / C#

Building a Visual Studio DebuggerVisualizer with a Custom Serializer

6 May 2008CPOL5 min read 30.2K   87   12  
For most any Serializeable object, making a DebuggerVisualizer is exceeding simple and examples abound. However, if you are trying to build a DebuggerVisualizer for an object which is not Serializable or takes too long to Serialize and Deserialize, things are not quite so simple.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.50727</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{EB7B84A6-4EBC-4701-BABD-E60671BA59F6}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>AtalaImageDebuggerVisualizer</RootNamespace>
    <AssemblyName>AtalaImageDebuggerVisualizer</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Atalasoft.dotImage, Version=6.0.3009.28684, Culture=neutral, PublicKeyToken=2b02b46f7326f73b, processorArchitecture=x86" />
    <Reference Include="Atalasoft.dotImage.IntelJpeg, Version=6.0.3009.28684, Culture=neutral, PublicKeyToken=2b02b46f7326f73b, processorArchitecture=x86" />
    <Reference Include="Atalasoft.Shared, Version=3.0.0.2, Culture=neutral, PublicKeyToken=2b02b46f7326f73b, processorArchitecture=x86" />
    <Reference Include="Microsoft.VisualStudio.DebuggerVisualizers, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="AtalaImageSerializer.cs" />
    <Compile Include="AtalaImageViewer.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="AtalaImageViewer.Designer.cs">
      <DependentUpon>AtalaImageViewer.cs</DependentUpon>
    </Compile>
    <Compile Include="AtalaImageVisualizer.cs" />
    <Compile Include="AtalaImageTransporter.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="AtalaImageViewer.resx">
      <SubType>Designer</SubType>
      <DependentUpon>AtalaImageViewer.cs</DependentUpon>
    </EmbeddedResource>
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

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


Written By
Software Developer Atalasoft, Inc.
United States United States
At Atalasoft I work with OCR, Raw Image Formats, Exif Data and Pdf Documents. My interests include Machine Learning, Concurrency and Computer Languages.

Comments and Discussions