Using assembly for scripts in an XSL reference template

There are two XSL files. One includes the other using <xsl:include>. The main template decides which actual templates to call depending on the node values, and the included templates contain real transformation rules. Nothing special here.

But the included file has a script block:

  <msxsl:script language="VB" implements-prefix="user">
    <msxsl:assembly href="C:\Absolute\Path\MyEscaper.dll" />
    <msxsl:using namespace="ZebraEscaper.MyCompany" />
    <![CDATA[
    Public Function escape(s As String) As String
      Return EncodeField(s, True)
    End Function
    ]]>
  </msxsl:script>

The user: escape () function will be used later in the included template.

Now I am moving on to the XSLT VS2008 debugger.

The main template calls <xsl:apply-templates>and turns on the template. And a FileNotFound exception is thrown: "Failed to load file or assembly" MyEscaper, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null "or one of its dependencies. The system cannot find the specified file."

, , , , . , , , , .

, : ?

, " - ". , FileNotFound, -, , ://C:\Absolute\Path\MyEscaper.dll. , , , MyEscaper.dll, version = blabla, public token = null, CompiledStylesheet.dll, .NET. , , href, , .

? () , ?

+3
1

.

- - . , .

:

  • XSL, script. , . ,

  • , GAC name, href. , .

+3

Source: https://habr.com/ru/post/1728664/


All Articles