title: platformnotsupportedexception : XSLCompiledTransform.Load(xslt) not loading the xslt file with </msxsl:script> in .net Core 2.1 target framework
body: <p>I have a xml file which i need to convert to txt, for which i used xslt transformation.
  My xslt transform file contains some supporting javascript functions in </p>
  
  <p>I could successfully transform the file if i run my code in .net framework 4.5 and above but same code fails with .net core 2.1.</p>
  
  <p>Documentation of .netcore 2.1 shows support for xslt transformation, but its not working for me, is that anything I am missing.</p>
  
  <p>My Input XML:</p>
  
  <pre><code>   &lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Maps xmlns:xsi= "https://www.w3.org/TR/xmlschema-1/" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns= "http://www.semi.org"&gt;
  &lt;Map SubstrateId= "EMAXA191X0121" SubstrateType= ""&gt;
  &lt;Device MachineID= "M/C Name : AOI-404" BinType= "Decimal" NullBin= "099" Orientation= "0" OriginLocation= "2" Columns= "59" Rows= "41" CreateDate= "20190111.214309" ProductId= "EMAXA191X0121" LotId= "" WaferSize= "200"&gt;
  &lt;ReferenceDevice ReferenceDeviceX= "-1" ReferenceDeviceY= "-1" /&gt;
  &lt;Bin&gt;
  &lt;Bin BinCode= "001" BinCount= "1565" BinQuality= "Pass" /&gt;
  &lt;Bin BinCode= "061" BinCount= "657" BinQuality= "Fail" /&gt;
  &lt;Bin BinCode= "062" BinCount= "11" BinQuality= "Fail" /&gt;
  &lt;Bin BinCode= "064" BinCount= "9" BinQuality= "Fail" /&gt;
  &lt;Bin BinCode= "065" BinCount= "1" BinQuality= "Fail" /&gt;
  &lt;Bin BinCode= "069" BinCount= "143" BinQuality= "Fail" /&gt;
  &lt;/Bin&gt;
  &lt;Data MapName= "MMI G85" Version= "1.0"&gt;
  &lt;Row&gt; &lt;![CDATA[061 001 061 061 001 061 061 001 061 061 001 061 061 069 061 061 001 061 061 061 061 061 061 001 061 001 061 061 099 099 099 001 001 061 001 061 061 001 001 001 001 001 061 001 001 001 001 001 061 001 061 001 001 061 061 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 001 061 061 001 061 001 001 061 061 061 061 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 061 061 001 061 069 001 001 001 001 001 061 061 001 001 001 001 001 061 001 001 061 001 001 061 061 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 061 001 001 001 001 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 061 001 061 001 069 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 069 061 061 061 061 061 061 061 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 001 061 001 001 001 001 001 001 001 001 001 001 061 061 061 001 001 001 001 001 001 061 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 061 001 001 001 001 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 001 061 061 001 001 069 001 061 061 061 001 061 069 001 061 001 061 061 001 001 061 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 061 001 001 001 001 061 001 001 001 001 001 001 001 061 061 061 061 001 061 061 001 001 001 001 001 001 001 069 001 001 001 069 001 069 001 001 001 001 001 069 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 001 061 001 061 061 001 061 001 069 001 061 001 001 061 061 001 061 001 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 061 001 061 001 001 061 001 001 061 001 001 001 001 061 001 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 001 061 069 001 001 001 001 001 001 069 061 061 001 061 061 001 001 061 001 001 001 061 061 061 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 061 001 001 061 001 001 001 061 061 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 001 061 001 001 001 001 061 001 061 001 069 001 061 001 061 001 001 001 001 061 001 001 001 001 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 069 001 001 001 069 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 061 061 061 061 001 061 061 001 061 061 061 001 061 001 001 061 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 001 001 001 001 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 001 061 061 061 061 061 061 061 061 001 061 061 061 061 061 001 001 001 001 001 061 001 061 001 001 001 061 061 001 001 061 001 001 061 001 001 001 001 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 061 001 001 001 001 061 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 069 001 069 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 001 001 001 001 001 001 069 001 069 069 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 061 001 061 001 001 001 001 001 001 001 069 069 061 001 061 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 061 061 001 001 001 061 001 061 001 001 061 001 001 001 069 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 061 001 001 001 001 061 061 001 001 001 001 001 001 001 001 001 001 001 001 069 069]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 001 001 001 001 061 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 061 001 001 001 001 001 061 001 001 001 001 001 001 001 001 061 001 061 061 001 001 001 061 061 061 061 061 061 069 061 001 061 061 001 061 001 001 061 061 061 061 001 061 061 001 061 001 061 001 001 061 001 001 001 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 061 061 061 001 061 001 001 061 061 001 001 001 061 001 061 001 061 061 061 061 061 061 061 061 099 099 099 001 061 001 001 061 001 001 061 061 061 001 061 061 061 001 061 061 001 069 061 001 069 001 061 069 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[099 099 099 099 001 001 099 099 099 099 099 001 061 061 061 061 061 001 061 061 061 061 061 061 001 061 061 061 099 099 099 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 099 099 099 099 099 001 061 099 099 099 099]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 061 061 061 061 061 061 001 061 001 061 061 061 061 061 001 061 061 061 061 061 061 061 061 061 061 061 061 099 099 099 061 061 061 061 061 001 001 001 061 061 001 061 061 061 061 061 001 061 061 001 061 061 001 061 001 061 061 069]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 061 061 001 061 061 061 061 061 061 001 061 061 061 061 001 061 061 061 001 001 001 001 061 061 001 061 061 061 061 001 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 001 061 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[061 001 061 001 001 061 061 061 001 061 061 061 061 001 061 001 061 061 061 061 061 061 061 061 061 061 061 061 061 061 061 001 061 061 061 061 001 061 061 061 061 061 061 061 061 001 061 061 061 061 061 061 061 061 061 061 001 061 061]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 061 061 001 001 001 069 061 001 001 001 001 001 001 001 001 001 001 061 061 061 061 061 001 069 001 001 001 001 061 001 001 061 001 069 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 069 001 001 065 001 001 001 001 001 001 069 069 001 001 069 001 001 001 001 001 001 069 061 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 069]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 061 001 061 061 069 001 001 001 061 001 001 001 001 001 001 001 001 001 061 061 061 001 001 001 001 001 001 001 001 001 001 001 061 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 061 001 001 001 061 001 001 001 001 069 061 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 061 061 061 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 069 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 001 001 001 061 001 001 061 061 001 061 061 061 001 001 001 061 001 061 001 061 001 069]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 061 061 061 001 001 001 061 001 001 061 001 001 001 061 069 001 001 001 001 001 001 001 001 001 001 061 061 001 001 001 001 001 001 061 001 001 001 001 001 061 069 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 061 001 069 001 001 001 001 061 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 069 001 061 001 001 001 001 061 001 061 061 001 001 001 061 061 001 061 001 001 061 001 061 069 061 001 061 001 001 001 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 069 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 061 061 001 001 001 001 001 001 069 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 069 069 001 069 001 001 001 001 069 001 001 069 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 001 001 001 001 069 001 001 001 001 001 001 061 069 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 069 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 061 061 069 069 069]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[069 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 001 069 001 001 001 001 001 001 001 001 001 001 064 062 062 062 062 064 064 064 062 062 062 062 064 064 001 001 001 001 001]]&gt; &lt;/Row&gt;
  &lt;Row&gt; &lt;![CDATA[001 001 069 001 001 069 001 001 001 001 001 001 001 001 001 001 001 069 069 001 001 001 001 001 001 001 001 001 099 099 099 001 001 001 001 001 001 062 062 064 001 001 001 001 001 001 001 001 001 001 001 001 001 001 064 062 064 001 061]]&gt; &lt;/Row&gt;
  &lt;/Data&gt;
  &lt;/Device&gt;
  &lt;/Map&gt;
  &lt;/Maps&gt;
  </code></pre>
  
  <p>My XSLT designed for Transformation:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;xsl:stylesheet version="1.0" 
                  xmlns:xsi= "https://www.w3.org/TR/xmlschema-1/" 
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                  xmlns= "http://www.semi.org"
                  xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
                  xmlns:outlet = "http://my.functions"&gt;
  
  
  
    &lt;msxsl:script implements-prefix="outlet" language="javascript"&gt;
      &lt;![CDATA[
      //script to replace string as XSLT1.0 doesnot support replace()
      function replace_str(str_text,str_by)
      {
      return str_text.replace(str_text,str_by);
      }
  
      //script to find the incoming bin code and idendify if pass/fail/null
      function identify_bin_type(available_bin_codes,search_string) {
  
      while(available_bin_codes.MoveNext()) {
  
  
      var current_bin_code = available_bin_codes.Current.Value;
      if ( current_bin_code === search_string){
      return current_bin_code;
      }
      }
      return "";
      }
      ]]&gt;
  
  
    &lt;/msxsl:script&gt;
  
    &lt;xsl:strip-space elements="*"/&gt;
  
    &lt;!--variable section--&gt;
    &lt;xsl:variable name="Company_Name" select="'xxx'"/&gt;
    &lt;xsl:variable name="Notch_Direction" select="'DOWN'"/&gt;
    &lt;xsl:variable name="Device_Name" select="'EMAX-00'"/&gt;
    &lt;xsl:variable name="Pass_Bin_ASE_Code" select="'1'"/&gt;
    &lt;xsl:variable name="Fail_Bin_ASE_Code" select="'0'"/&gt;
    &lt;xsl:variable name="Null_Bin_ASE_Code" select="'X'"/&gt;
    &lt;xsl:variable name="Miss_Bin_ASE_Code" select="'0'"/&gt;
  
    &lt;xsl:variable name="Machine_Id" select="/node()[1]/node()[1]/node()[1]/@MachineID"/&gt;
  
    &lt;xsl:variable name="Wafer_Id" select="/node()[1]/node()[1]/@SubstrateId"/&gt;
  
    &lt;xsl:variable name="Bin1_Count" select="/node()[1]/node()[1]/node()[1]/node()[2]/*[@BinCode='001']/@BinCount"/&gt;
  
    &lt;xsl:variable name="Column_Value" select="/node()[1]/node()[1]/node()[1]/@Columns"/&gt;
    &lt;xsl:variable name="Row_Value" select="/node()[1]/node()[1]/node()[1]/@Rows"/&gt;
  
    &lt;xsl:variable name="Actual_Die_Nos" select="number($Column_Value) * number($Row_Value)"/&gt;
  
    &lt;xsl:variable name="Total_Die_Nos" select="sum(/node()[1]/node()[1]/node()[1]/node()[2]/*[@BinCount]/@BinCount)"/&gt;
  
    &lt;xsl:variable name="Device_Rows" select="/node()[1]/node()[1]/node()[1]/node()[3]/*/text()"/&gt;
  
    &lt;xsl:variable name="Pass_Bin_Codes" select="/node()[1]/node()[1]/node()[1]/node()[2]/*[@BinQuality='Pass']/@BinCode"/&gt;
    &lt;xsl:variable name="Fail_Bin_Codes" select="/node()[1]/node()[1]/node()[1]/node()[2]/*[@BinQuality='Fail']/@BinCode"/&gt;
    &lt;!--&lt;xsl:variable name="Null_Bin_Codes" select="/node()[1]/node()[1]/node()[1]/node()[2]/*[@BinQuality='Null']/@BinCode"/&gt;--&gt;
    &lt;xsl:variable name="Null_Bin_Codes" select="/node()[1]/node()[1]/node()[1]/@NullBin"/&gt;
  
  
    &lt;xsl:output method="text"  indent="yes"/&gt;
  
    &lt;!--Transpose template called for each Device Row Data--&gt;
    &lt;xsl:template name="find-identify-substitute-bincodes"&gt;
      &lt;xsl:param name="string"/&gt;
  
      &lt;xsl:variable name="relevantSringLen" select="string-length($string)" /&gt;
  
  
      &lt;xsl:if test="$relevantSringLen &amp;gt; 1"&gt;
        &lt;xsl:variable name="relevant-part" select="substring-before(substring-after($string,' '),' ')"/&gt;
  
  
  
        &lt;xsl:choose&gt;
  
          &lt;!--Check if it a pass bin code and replace with respective pass ASE Code--&gt;
          &lt;xsl:when test="contains(outlet:identify_bin_type($Pass_Bin_Codes,$relevant-part),$relevant-part)"&gt;
  
                &lt;xsl:variable name="transform-relevant-part" select="outlet:replace_str($relevant-part,$Pass_Bin_ASE_Code)" /&gt;
                &lt;xsl:value-of select="normalize-space(concat($transform-relevant-part,' '))"/&gt;
  
          &lt;/xsl:when&gt;
  
  
          &lt;!--Check if it a fail bin code and replace with respective fail ASE Code--&gt;
  
          &lt;xsl:when test="contains(outlet:identify_bin_type($Fail_Bin_Codes,$relevant-part),$relevant-part)"&gt;
  
            &lt;xsl:variable name="transform-relevant-part" select="outlet:replace_str($relevant-part,$Fail_Bin_ASE_Code)" /&gt;
            &lt;xsl:value-of select="normalize-space(concat($transform-relevant-part,' '))"/&gt;
  
          &lt;/xsl:when&gt;
  
  
  
          &lt;!--Check if it a null bin code and replace with respective null ASE Code--&gt;
  
          &lt;xsl:when test="contains(outlet:identify_bin_type($Null_Bin_Codes,$relevant-part),$relevant-part)"&gt;
  
  
                &lt;xsl:variable name="transform-relevant-part" select="outlet:replace_str($relevant-part,$Null_Bin_ASE_Code)" /&gt;
                &lt;xsl:value-of select="normalize-space(concat($transform-relevant-part,' '))"/&gt;        
  
          &lt;/xsl:when&gt;
  
          &lt;!--Check if bin code not found and replace with respective miss ASE Code--&gt;
          &lt;xsl:otherwise&gt;
  
            &lt;xsl:variable name="transform-relevant-part" select="outlet:replace_str($relevant-part,$Miss_Bin_ASE_Code)" /&gt;
            &lt;xsl:value-of select="normalize-space(concat($transform-relevant-part,' '))"/&gt;
  
  
          &lt;/xsl:otherwise&gt;
        &lt;/xsl:choose&gt;
  
        &lt;!--recursively look into the remainder string in the row and continue serch and replace till the end--&gt;
        &lt;xsl:variable name="remainder" select="substring-after($string,$relevant-part)"/&gt;
  
        &lt;xsl:call-template name="find-identify-substitute-bincodes"&gt;
          &lt;xsl:with-param name="string" select="$remainder"/&gt;
        &lt;/xsl:call-template&gt;
  
  
      &lt;/xsl:if&gt;
  
    &lt;/xsl:template&gt;
  
    &lt;!--Template of Device Data Rows to be called in main Template--&gt;
    &lt;xsl:template name="Devicedatarow"&gt;
      &lt;xsl:for-each select="$Device_Rows"&gt;
  
        &lt;xsl:variable name="Device_Row" select="current()"/&gt;
        &lt;xsl:variable name="Device_Row_Position" select="position()"/&gt;
  
  
        &lt;xsl:call-template name="find-identify-substitute-bincodes"&gt;
          &lt;xsl:with-param name="string" select="$Device_Row" /&gt;
  
        &lt;/xsl:call-template&gt;
        &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;/xsl:for-each&gt;
    &lt;/xsl:template&gt;
  
    &lt;!--Main Text Template body--&gt;
    &lt;xsl:template match="/|@*"&gt;
  
      &lt;xsl:text&gt;Company Name: &lt;/xsl:text&gt; 
      &lt;xsl:value-of select="$Company_Name" /&gt;
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
  
      &lt;xsl:text&gt;Device: &lt;/xsl:text&gt;
      &lt;xsl:value-of select="$Device_Name" /&gt;
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
  
      &lt;xsl:text&gt;MachineID :&lt;/xsl:text&gt;
      &lt;xsl:value-of select="substring-after($Machine_Id, 'M/C Name :')" /&gt;
  
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;xsl:text&gt;Wafer ID: &lt;/xsl:text&gt;
      &lt;xsl:value-of select="$Wafer_Id" /&gt;
  
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;xsl:text&gt;BIN 1: &lt;/xsl:text&gt;
      &lt;xsl:value-of select="$Bin1_Count" /&gt;
  
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;xsl:text&gt;Total Die: &lt;/xsl:text&gt;
      &lt;xsl:value-of select="$Total_Die_Nos" /&gt;
  
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;xsl:text&gt;Notch Direction: &lt;/xsl:text&gt;
      &lt;xsl:value-of select="$Notch_Direction" /&gt;
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
  
      &lt;xsl:value-of select="concat('Column : ', $Column_Value, ', ' , ' Row : ', $Row_Value)" /&gt;
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
  
      &lt;xsl:text&gt;Empty :&lt;/xsl:text&gt;
  
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
      &lt;xsl:text&gt;.............................................&lt;/xsl:text&gt;
      &lt;xsl:text&gt;&amp;#xd;&lt;/xsl:text&gt;
  
      &lt;xsl:call-template name="Devicedatarow"&gt;
      &lt;/xsl:call-template&gt;
  
    &lt;/xsl:template&gt;
  
  
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>My Expected Output:</p>
  
  <pre><code>Company Name: xxx
  Device: EMAX-00
  MachineID : AOI-404
  Wafer ID: EMAXA191X0121
  BIN 1: 1565
  Total Die: 2386
  Notch Direction: DOWN
  Column : 59,  Row : 41
  Empty :
  .............................................
  0100100100100000100000010100XXX1101001111101111101011001000
  01001011000001000000000000001000010011111001111101101100000
  01111111101111100000000000000001001111111111111111111111000
  01111111111010000000000000000001001111111111111111111111000
  01111101111111111100000000000000111111111111111011101010000
  01111100000000010000000000000000011011111111110001111110000
  01111110111101000000000000000001001001101000100101001101000
  01011110111111100001001111111011101011111010111111111111111
  01111111111111010000000000000001001010010101011001011111000
  00101101101111011000000000000001001001111110001001101110001
  01111011011100010000000000000001001011110101010101111011110
  01111111111111111101111111111011101111110111111111111111000
  01111111101111111000010010001011011111111111111110111111110
  01111111111111111001000000001000001111101011100110110111100
  01111101111011111101111111110101111111111101111111111010001
  11111111111011111101111111111111111101111101011111110001011
  01110011101011011101111111111011111111011110011111111111100
  01111011111111111011111111111111111111111101111111111111000
  00111110111111110100111000000001001011000010010101101111000
  0111000101100111010100000000XXX1011011000100010010010100000
  XXXX11XXXXX10000010000001000XXX00000000000000001XXXXX10XXXX
  0000000101000001000000000000XXX0000011100100000100100101000
  00010000001000010001111001000011000000000000000000000101000
  01011000100001010000000000000001000010000000010000000000100
  11111111111111110111111001110011111111110000010111101101001
  01111111111111110101101111110011011111100111110111111111110
  11111111111111111001111101000111011111111100011111111111011
  01111111011101111001111111111011111111111111111110111100001
  01111111111111111001111111111111011111110110010001110101010
  01111111111101110001110110111001111111111001111110111110001
  01111111111111111011111111111111111111111111011110101111001
  01111111111111110101011110100111001011010001011111111111111
  01111111111111111101111111111011111111101110111111111111111
  01111111111111111101111111110011111111111111111111111111111
  01111111111111111001111111110011111111111111111111111111111
  01111111111111111011111111110011111111111111101001111110111
  01111111111111111101111111110010111101101111111011111111111
  01101111111111111111111111111011111111111111011110111111001
  00101111111111111001111111111011111110111111111111111100000
  01111111111111111011111111111011111111110000000000000011111
  1101101111111111100111111111XXX1111110001111111111111100010
  </code></pre>
  
  <p>My .net sample application to execute the transformation:</p>
  
  <pre><code>public static void RunXslt1(string currentInputXML,string currentOutputTXT,string transformxsltPath)
          {
              var fileInUse = "XSLT";
              try
              {
                  Console.WriteLine(String.Format("starting XSLT process"));
                  // Load the style sheet.
                  var settings = new XsltSettings();
                  settings.EnableScript = true;
                  var xslt = new XslCompiledTransform();
                  xslt.Load(transformxsltPath, settings, null);
                  // Execute the transform and output the results to a file.
                  fileInUse = "XML";
                  xslt.Transform(currentInputXML, currentOutputTXT);
                  Console.WriteLine(String.Format("Fail occurs on transformation."));
              }
              catch (FileNotFoundException ex)
              {
                  if (fileInUse.Equals("XSLT"))
                  {
                      Console.WriteLine("XSLT file not found.");
                      Environment.Exit(1);
                  }
                  else if (fileInUse.Equals("XML"))
                  {
                      Console.WriteLine("XML file not found.");
                  }
              }
              catch (Exception ex)
              {
                  Console.WriteLine("Fail occurs on transformation. \nError : " + ex.Message);
  
              }
          }
  </code></pre>
  
  <p>This code prefectly works good in .net framework 4.6, but if i run it in .netCore 2.1 then the below point gets platformnotsupportexception</p>
  
  <pre><code> xslt.Load(transformxsltPath, settings, null);
  </code></pre>
  
  <blockquote>
    <p>System.PlatformNotSupportedException: Compiling JScript/CSharp scripts
    is not supported</p>
  </blockquote>
  
  <p>What is missing for .netCore 2.1?
  My xslt version is 1.0, Visual studio 2017,trarget Framework .netcore2.1
  I have tried many suggestions, but nothing seemed to work
  Please assist me in this, </p>