INFO: Assembly Restructuring Introduced In Version 10.3


Beginning in version 10.3, we have restructured our classes and assemblies. Certain assemblies have been removed and the classes within have been moved to other assemblies. In some cases, classes from one assembly needed to be split up and added to different assemblies. The PdfRasterizer assembly has been renamed to PdfReader. No name spaces have changed. The goal of this shift is to make our product easier and more intuitive to use, which will cut down on development time.

Mapping of Assembly Restructuring

Assembly to be Removed Destination Assembly
Atalasoft.DotAnnotate Atalasoft.dotImage
Atalasoft.DotAnnotate(Pdf annotation classes) Atalasoft.dotImage.PdfDoc.Bridge
Atalasoft.dotImage.Annotate Atalasoft.dotImage.WinControls
Atalasoft.dotImage.Annotate(Import/Export classes) Atalasoft.dotImage
Atalasoft.dotImage.Annotate(Pdf Import/Export classes) Atalasoft.dotImage.PdfDoc.Bridge
Atalasoft.dotImage.Annotate.Design Atalasoft.dotImage.WinControls.Design
Atalasoft.dotImage.Silverlight.Annotations.Web Atalasoft.dotImage.Silverlight.Web
Atalasoft.WebControls.Annotations Atalasoft.WebControls
Atalasoft.dotImage.Wpf.Annotations Atalasoft.dotImage.Wpf
Atalasoft.dotImage.Wpf.Annotations.Design Atalasoft.dotImage.Wpf.Design
Atalasoft.dotImage.PdfRasterizer Atalasoft.dotImage.PdfReader

In most cases, because the name spaces have not changed,there is no need for a code change in projects when upgrading to 10.3. There are three situations where a code change would be required.

1) You are using a WebAnnotationViewer in a project created pre-v10.3.

In this case, you need to adjust the Register Assembly call in the aspx markup and change the Assembly line from this:

Assembly="Atalasoft.dotImage.WebControls.Annotations"

to this:

Assembly="Atalasoft.dotImage.WebControls"

be sure and leave the Namespace alone... the correct entry will look something line this

<%@ Register Assembly="Atalasoft.dotImage.WebControls" Namespace="Atalasoft.Imaging.WebControls.Annotations" TagPrefix="cc1" %>

Please also make sure to REMOVE the following three references from your project and remove their dlls from the bin directory... Failure to do so may cause a "version mismatch" error:

  • Atalasoft.DotAnnotate.dll
  • Atalasoft.dotImage.Annotate.dll
  • Atalasoft.dotImage.WebControls.Annotations.dll

2) You are using a .NET BinaryFormatter to de/serialize annotation objects.

3) You are using an AnnotationController outside the context of a viewer and using Pdf annotation types(PdfLine or PdfMarkup).

The last two are both fairly uncommon, because we offer our own formatters and because, typically, an AnnotationController is used in the context of a viewer.
 
 
If you are using a BinaryFormatter to deserialize annotation objects into version 10.3 and the objects were serialized in a previous version, you will need to use our AnnotationBinder class so the formatter will resolve the types to the correct assemblies.

C#

BinaryFormatter bf = new BinaryFormatter();

bf.Binder = new AnnotationBinder();

 
If you are using an AnnotationController and PDF annotations outside the context of a viewer, you will need to add the required annotation UI factories for these annotation types to the AnnotationController's factory collection. We created a static method which will add the required factories to an AnnotationUIFactoryCollection.

C#

AnnotationController ac = new AnnotationController();

PdfAnnotationUIFactory.Initialize(ac.Factories);

 

Original Article:
Q10350 - INFO: Assembly Restructuring Introduced In Version 10.3