5

Glass.Mapper を使用して Sitecore サイトでページ エディター モードでページを開くと、エラーが発生することがあります。

アイテム ID を表すプロパティを含まないクラスは保存できません。少なくとも 1 つのプロパティが Sitecore ID を含むようにマークされていることを確認してください。型: Glass.Mapper.Sc.Configuration.SitecoreTypeConfiguration.ResolveItem(オブジェクト ターゲット、データベース データベース) で Castle.Proxies.IBasicPageProxy (式'1 フィールド、式'1 標準出力、 T モデル、オブジェクト パラメータ、コンテキスト コンテキスト、データベース データベース、TextWriter ライター)

これはレンダリングの代わりに表示されるため、標準の ASP エラーとしては表示されません。

IIS を再起動すると解決しますが、すぐにまた表示されます。

モデル定義にはインターフェイスを使用し、すべてのインターフェイスが IBaseType から継承されます。

[SitecoreType]
public interface IBaseType
{
    [SitecoreId]
    Guid Id { get; set; }

    [SitecoreInfo(SitecoreInfoType.Name)]
    string Name { get; set; }

    [SitecoreItem]
    Item InnerItem { get; set; }

    [SitecoreInfo(SitecoreInfoType.Url)]
    string Url { get; set; }

    [SitecoreInfo(SitecoreInfoType.TemplateId)]
    Guid TemplateId { get; set; }

    [SitecoreInfo(SitecoreInfoType.FullPath)]
    string FullPath { get; set; }
}

Sitecore 7.5 rev を使用しています。141003 (.NET 4.5、MVC5)、および Glass.Mapper 関連の NuGet パッケージの最新バージョン:

  • Castle.Windsor 3.3.0
  • Castle.Core 3.3.3
  • Glass.Mapper 3.0.14.26
  • Glass.Mapper.Sc 3.2.3.46
  • Glass.Mapper.Sc.CastleWindsor 3.3.0.24
  • Glass.Mapper.Sc.Mvc-5 3.3.0.43

この問題は、試したすべてのマシンで発生しますが、すべて Windows 8、IIS 8.5.9600 を使用しています。WebActivator メソッドに戻そうとしましたが、役に立ちませんでした。モデル定義は、すべてのグラス マッパー アセンブリを参照する別のクラス ライブラリ プロジェクトにあります。

私はかなり無知です。他のプロジェクトでこのエラーに遭遇したことはありません。これを引き起こす原因、またはデバッグ方法を知っている人はいますか?

ご協力ありがとうございました!

4

2 に答える 2