問題
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)
質問1:
この変更により、ファイルが新しいバージョンで名前が変更または削除されたものを参照する既存の xml パッケージの一部で問題が発生しました。パッケージを更新するか、新しいパッケージを使用することができました。ただし、このエラーについてどうすればよいかわかりません。
これは xml パッケージ エラーですか? スタック トレースに「xmlPackageManager」などへの参照が表示されます。これは、ドキュメントで「内部パッケージ」と呼ばれるものに関するものでしょうか?
質問2:
system.xml とは何ですか? これはファイルですか?それはどこにある?
質問 3:
以下にリストされている「スタック トレース」を見ることで、何が起こっているのかを詳しく知ることは可能ですか? 他にどのような情報が必要ですか?
私が試したこと:
これに関連するものはオンラインで見つかりません。私は道を外れていると思いますが、「GTINValue」が宣言されていないか範囲外であると不平を言っているので、ファイル「admin」/product.aspx.csファイルでその参照を見つけました。「int GTINValue;」という行を削除して、値「int GTINValue = 1」を割り当て、データベース テーブル参照で「GTINValue」の代わりに「GTINValue」が見つかったため、「GTIN」に変更しようとしました。いずれの場合でも、同じエラーが発生しますか? その行を変更すると何らかの影響があると思いましたが、そうではないので、変更が登録されていないキャッシュの問題なのか、エラーがまったく別のものから来ているのかわかりません。
これを解決する方法がまったくわからないので、どんな助けでも大歓迎です。
ありがとう。