سؤال

I'm getting a peculiar error after adding a line to my XSLT used in my DVWP. I can't paste all my XSL here but let me explain like so:

  • I have an .xslt file with 284 lines
  • My DVWP references it through the XslLink property
  • The DVWP is added to a WebPart page
  • The page loads fine

So far so good...

  • I add one xsl:value-of line to my XSLT
    • It really doesn't matter what the line is
    • It can be <xsl:value-of select="@someField" />
    • It can be <xsl:value-of select="substring-after(@anotherField, '.')" />
  • The page will now show an error: Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator.

Strange...

  • If I remove everything from the XSLT and leave just that one line then there is no
  • If I remove other lines (say 30 of the 284) and keep that one line then there is no error

So I'm 100% sure it has nothing to do with what line I'm adding or the XSLT.

I looked through the SharePoint logs for the correlation ID of the error I'm getting and compared with the logs of when I don't have the error.

I'm no expert at reading SP logs but there are only two main differences I see. The error log has these two entries:

Videntityinfo::isFreshToken reported failure.

and

Error while executing web part:
    System.BadImageFormatException:
        An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
            at <xsl:template match="Row">(XmlQueryRuntime , XPathNavigator )
            at <xsl:apply-templates>(XmlQueryRuntime , XPathNavigator )
            at <xsl:template name="nacho">(XmlQueryRuntime , XPathNavigator )
            at Root(XmlQueryRuntime )
            at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer, Boolean closeWriter)
            at System.Xml.Xsl.XmlILCommand.Execute(IXPathNavigable contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter results)
            at System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, XmlWriter results)
            at Microsoft.SharePoint.WebPartPages.DataFormWebPart.ExecuteTransform(XslCompiledTransform xslCompiledTransform, XsltArgumentList xmlArguments, Boolean bDeferExecuteTransform)
            at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)

(It was actually split in two lines and not formatted so I cleaned it up for readability.)

According to what I've read online Videntityinfo is a permission error and System.BadImageFormatException is trying to use a x32 DLL in place of an x64 DLL.

What I cannot figure out is how it could be either of those issues if the page loads fine other times.

Or is there something else maybe wrong?

هل كانت مفيدة؟

المحلول

I was able to learn that the issue was it was taking too long to process the XSLT. Once I optimized the XSLT code the problem went away. I think there is a timeout setting somewhere that can be changed too.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top