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 メソッドに戻そうとしましたが、役に立ちませんでした。モデル定義は、すべてのグラス マッパー アセンブリを参照する別のクラス ライブラリ プロジェクトにあります。
私はかなり無知です。他のプロジェクトでこのエラーに遭遇したことはありません。これを引き起こす原因、またはデバッグ方法を知っている人はいますか?
ご協力ありがとうございました!