问题
当我们将 AspDotNetStorefront 购物车从版本 9.4 升级到 9.5 时,尝试访问“admin”/product.aspx 以在为我们设置的登台站点的后端更新或添加新产品时,出现以下错误。复制并设置了我们现有的数据库以测试新版本。
错误:
Exception of type 'System.Web.HttpUnhandledException' was thrown.
Inner Exception:
Page URL:/aesys/product.aspx
Source:System.Xml
Message:The variable or parameter 'GTINValue' is either not defined or it is out of scope.
Stack Trace:
at System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
at System.Xml.Xsl.XslCompiledTransform.Load(IXPathNavigable stylesheet, XsltSettings settings, XmlResolver stylesheetResolver)
at AspDotNetStorefrontCore.XmlPackage2..ctor(String PackageName, Customer cust, Int32 SkinID, String UserQuery, String AdditionalRuntimeParms, String OnlyRunNamedQuery, Boolean UseExtensions)
at AspDotNetStorefrontCore.XmlPackage2..ctor(String PackageName, Customer cust, Int32 SkinID, String UserQuery, String AdditionalRuntimeParms, String OnlyRunNamedQuery)
at AspDotNetStorefrontCore.XmlPackageManager.GetXmlPackageDisplayName(String packageName, Nullable`1 skinId)
at AspDotNetStorefrontCore.XmlPackageManager.<>c__DisplayClass0_2.b__5(String filePath)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.d__14`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.OrderedEnumerable`1.d__0.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at AspDotNetStorefrontCore.XmlPackageManager.GetXmlPackageInfosByPrefix(HttpContextBase httpContext, XmlPackageLocation searchLocations, String prefix, IEnumerable`1 skinIds)
at AspDotNetStorefrontControls.XmlPackageSelector.BuildXmlPackageListItems()
at AspDotNetStorefrontControls.XmlPackageSelector.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
问题一:
该更改导致我们现有的一些 xml 包出现问题,其中文件引用了在较新版本中已重命名或删除的内容。我已经能够更新软件包或使用较新的软件包。我不确定如何处理这个错误。
这是一个xml包错误吗?我在堆栈跟踪中看到对“xmlPackageManager”等的引用。这可能与文档所指的“内部包”有关吗?
问题2:
什么是 system.xml?这是一个文件吗?它在哪里?
问题 3:
是否可以通过查看下面列出的“堆栈跟踪”来了解更多关于正在发生的事情?我还需要什么其他信息?
我试过的:
我在网上找不到与此相关的任何内容。我想我已经走了,但由于它抱怨“GTINValue”没有被删除或超出范围,我在文件“admin”/product.aspx.cs 文件中找到了该引用。我尝试删除行'int GTINValue;',为其分配一个值'int GTINValue = 1',然后更改为'GTIN',因为我在数据库表参考中发现它而不是'GTINValue'。在每种情况下我仍然得到同样的错误?我认为更改该行会产生一些影响,因为我不确定它是否是缓存的东西,其中更改没有被注册或错误来自完全不同的东西。
我真的完全迷失了如何解决这个问题,所以任何帮助都将不胜感激。
谢谢。