我们正在使用XSLT来显示Sitemap。在我们将Sitecore从6.5升级到6.6之前,它运行良好。 现在我们收到错误“无法处理Xsl文件”。为了检查逻辑中是否存在某些问题,我们保留了一个空的XSLT,但是我们得到了同样的错误。 有人对此有所了解吗?还是面临同样的问题?
修改:
web.config中的XSL扩展设置为:
<xslExtensions>
<extension mode="on" type="Sitecore.Xml.Xsl.XslHelper, Sitecore.Kernel" namespace="http://www.sitecore.net/sc" singleInstance="true" />
<extension mode="on" type="Sitecore.MainUtil, Sitecore.Kernel" namespace="http://www.sitecore.net/util" singleInstance="true" />
<extension mode="on" type="Sitecore.DateUtil, Sitecore.Kernel" namespace="http://www.sitecore.net/dateutil" singleInstance="true" />
<extension mode="on" type="Sitecore.Web.UI.WebControls.ContentDot, Sitecore.Kernel" namespace="http://www.sitecore.net/dot" singleInstance="true" />
<extension mode="on" type="Sitecore.Xml.Xsl.SqlHelper, Sitecore.Kernel" namespace="http://www.sitecore.net/sql" singleInstance="true" />
<extension mode="on" type="Sitecore.Web.UI.WebControls.WebEditRibbon, Sitecore.Kernel" namespace="http://www.sitecore.net/webedit" singleInstance="true" />
<extension mode="on" type="Sitecore.StringUtil, Sitecore.Kernel" namespace="http://www.sitecore.net/stringutil" singleInstance="true" />
</xslExtensions>
并记录此错误:
ERROR Could not resolve type name:
Sitecore.Ecommerce.Classes.XslExtensions,Sitecore.Ecommerce.Custom (method:Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters,Boolean assert)).
ERROR A rendering error occurred: Xsl file could not be processed (details: System.Exception: Could not resolve type name:Sitecore.Ecommerce.Classes.XslExtensions,Sitecore.Ecommerce.Custom (method: Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)).
at Sitecore.Diagnostics.Error.Raise(String error, String method)
at Sitecore.Diagnostics.Error.Assert(Boolean condition, String error)
at Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Web.UI.WebControls.XslFile.ReadXslExtensions()
at Sitecore.Web.UI.WebControls.XslFile.get_XslExtensions()
at Sitecore.Web.UI.WebControls.XslFile.AddExtensionObjects(XsltArgumentList list, Item item)
at Sitecore.Web.UI.WebControls.XslFile.DoRender(HtmlTextWriter output, Item item))
答案 0 :(得分:0)
我认为上面的错误是说&#34;您要求我渲染的XSLT文件是指扩展类,但是我无法创建该类的实例&#34; - 并查看您提供的配置剪辑,似乎没有提到该课程。据我所知,您希望在Sitecore Renderings中使用的所有XSLT扩展都需要在使用前进行注册。
我没有遇到过&#34; Sitecore.Ecomerce.Custom&#34;以前的命名空间,但谷歌搜索引导我到#34; Sitecore电子商务基础版&#34;在SDN上:http://sdn.sitecore.net/Products/SEFE/SEFE11.aspx
查看安装包,我找到了一个配置包含文件,其中包含以下代码段:
<xslExtensions>
<extension mode="on" type="Sitecore.Ecommerce.Classes.XslExtensions,Sitecore.Ecommerce.Custom" namespace="http://www.sitecore.net/ec" singleInstance="true" />
</xslExtensions>
(查看文件&#34; Sitecore.Commerce.Examples.config&#34;在此模块的包中)
我怀疑您的错误与升级后安装中丢失的额外配置行相关,或者Sitecore.Ecommerce.Custom.dll二进制文件丢失了?
将丢失的位重新放回升级后的网站可能会解决错误。
但是:上面的SDN链接表明Sitecore的此扩展程序与SC 6.6不兼容。正如我所说,我以前没有使用过这个模块,所以我可能会错过一个隐藏在SDN中的新版本,但上面的页面说你需要v6.3-v6.4才能工作。我无法通过我的简短的谷歌告诉Sitecore是否说#34;此代码无法与v6.6&#34;或者他们是否在说&#34;我们没有用v6.6进行测试,但它可能有效 - 使用风险自负&#34;。我建议您使用Sitecore支持进行检查。