Showing posts with label C#. Show all posts
Showing posts with label C#. Show all posts

Wednesday, August 27, 2008

BizTalk 2004 to 2006 Upgrade XSLT issue

I have been working on a BizTalk 2004 to 2006 upgrade and encountered an interesting issue when testing. It was an XLANG error with the relevant part of the error message log being:


Unable to cast object of type 'MS.Internal.Xml.Cache.XPathDocumentNavigator' to type 'System.Xml.IHasXmlNode'


The reason for this is that in one of the XSLT maps there was some custom c# code that made a cast. The cast involved the XPathDocumentNavigator class from the System.Xml.XPath namespace. The XSLT engine loaded the version in MS.Internal.Xml.Cache first.

To fix this issue I just made sure the references to XPathDocumentNavigator were fully qualified.

The lesson learned was that it always pays to fully qualify your references to classes in embedded .net code in XSLT.

Monday, November 26, 2007

MDIParent and/or Parent Property is Null! Timing Issue

One of the problems I faced today was when I was attempting to reference some properties of the MDIParent of a child form.

The code was executing in the constructor scope of the child form. It turns out that until the Activation scope any attempt to reference the parent form will result in a null value.

So I moved the neccessary code to a method wired up to the Active event of the form and received a reference as expected.