0

以下のエラーの原因:

エラー レンダリング エラーが発生しました: Xsl ファイルを処理できませんでした: abc.xslt (詳細: System.FormatException: GUID には 4 つのダッシュを含む 32 桁を含める必要があります (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。

(参考: Sitecore 6.4 を使用)

誰でも私を助けることができますか?

編集:許可の問題のようです。ログインすると正常に動作しますが、匿名では機能しません。スタック トレースで更新:

[FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).]
   System.Guid..ctor(String g) +2486
   Sitecore.Data.ID..ctor(String id) +65
   Sitecore.Data.ID.Parse(String value) +42
   Sitecore.SecurityModel.SecurityAssignments.LoadData() +240
   Sitecore.SecurityModel.SecurityField.get_Assignments() +194
   Sitecore.SecurityModel.SecurityField.GetRights(Domain domain, ID entityID) +139
   Sitecore.Shell.Web.UI.WebControls.SecurityTreeview.GetTreeNode(Item item, Control parent) +817
   Sitecore.Web.UI.HtmlControls.DataTreeview.Populate(DataContext dataContext, Control control, Item root, Item folder, String selectedIDs) +452
   Sitecore.Web.UI.HtmlControls.DataTreeview.Populate(DataContext dataContext, Control control, Item root, Item folder, String selectedIDs) +335
   Sitecore.Web.UI.HtmlControls.DataTreeview.Populate(Control control, DataContext dataContext) +440
   Sitecore.Web.UI.HtmlControls.DataTreeview.Populate(Control control, Int32 depth) +82
   Sitecore.Web.UI.HtmlControls.DataTreeview.OnLoad(EventArgs e) +758
   Sitecore.Shell.Web.UI.WebControls.SecurityTreeview.OnLoad(EventArgs e) +31
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Control.LoadRecursive() +141
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
4

3 に答える 3

0

おそらく、これのいくつかは、異なるバージョンであっても、何を確認/試行するかについてのいくつかのアイデアを刺激するでしょう:

  1. Sitecore 7.5 (7.2 からアップグレード)
  2. 7.2 では、パイプライン プロセッサを追加して、データソース ロケーション フィールドでクエリを実行できるようにしました (パイプライン: Sitecore.Pipelines.GetRenderingDatasource.GetDatasourceLocation)。
  3. 7.5 へのアップグレード後、Sitecore がこの機能を 7.5 の機能の 1 つとして追加したことに気付きました。そのため、コードの競合が発生しました。その 1 つが、この投稿で示したエラーでした。
  4. プロセッサのコードは、文字列パスではなく、データソース値として GUID のみを想定していました。コードを更新すると、エラーはなくなりました
于 2015-03-30T19:03:56.173 に答える
0

最近、匿名プロファイルの破損が発生しました。これは、ユーザー マネージャーに移動し、ツールバーを使用してプロファイルを「リセット」することで修正されました。役立つかもしれません。

スタックに基づいて、ユーザーに割り当てられたロール グループの 1 つがデータベースにないことが推測されます。

于 2012-04-09T14:40:56.870 に答える
-1

これは、この列に DataType: System.Guid を設定したために発生する可能性があります。

  1. データ ソースを開く (ツール メニュー: データ/データ ソースの表示)
  2. エラー列を確認してください。これは他のものとは異なります...
  3. サーバー エクスプローラーを開きます (ツール メニュー: [表示/サーバー エクスプローラー]、またはソリューション エクスプローラーでデータベース名をダブルクリックします)。
  4. データベース テーブルを見つけ、マウスの右クリック コンテキスト メニューで「テーブル スキーマの編集」を検索します。
  5. 列を見つけて、必要なデータのデータ型プロパティを変更します... [OK] をクリックします... エラーが発生した場合は、ウィンドウの左上にある [更新] をクリックしてから [OK] をクリックします...
  6. ソリューション エクスプローラーで YourDataSet をダブルクリックし、表示されたウィンドウで問題のある列をリストで見つけます。
  7. 列名をクリックし、プロパティで DataType を検索します (System.Guid と書かれていると思います)。それをデータ型に変更します... プロジェクトを再コンパイルして使用します。

2番目の実際に機能する方法は、System.Guid DataTypeを持つ列を検出して削除し、他の列に置き換えることです...

于 2013-03-09T15:50:48.913 に答える