Orchardcms 添加新小部件时orchard中出现异常

Orchardcms 添加新小部件时orchard中出现异常,orchardcms,orchardcms-1.8,orchard-modules,Orchardcms,Orchardcms 1.8,Orchard Modules,我正在Orchard中创建一个新的日历小部件。我添加了驱动程序、处理程序、模型和编辑器视图。 现在,我转到小部件,添加小部件,选择日历小部件,我得到以下异常: 2014-07-15 13:58:02,972 [20] Orchard.Exceptions.DefaultExceptionPolicy - Default - An unexpected exception was caught http://localhost/Orchard/Admin/Widgets/AddWidget?lay

我正在Orchard中创建一个新的日历小部件。我添加了驱动程序、处理程序、模型和编辑器视图。 现在,我转到小部件,添加小部件,选择日历小部件,我得到以下异常:

2014-07-15 13:58:02,972 [20] Orchard.Exceptions.DefaultExceptionPolicy - Default - An unexpected exception was caught
http://localhost/Orchard/Admin/Widgets/AddWidget?layerId=3&widgetType=CalendarWidget&zone=Content&returnUrl=%2FOrchard%2FAdmin%2FWidgets
System.InvalidCastException: Specified cast is not valid.
   at Orchard.ContentManagement.ContentCreateExtensions.New[T](IContentManager manager, String contentType) in c:\Workspaces\Orchard\src\Orchard\ContentManagement\ContentExtensions.cs:line 21
   at Orchard.Widgets.Controllers.AdminController.AddWidget(Int32 layerId, String widgetType, String zone, String returnUrl) in c:\Workspaces\Orchard\src\Orchard.Web\Modules\Orchard.Widgets\Controllers\AdminController.cs:line 151
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41()
2014-07-15 13:59:32,478 [5] Orchard.Exceptions.DefaultExceptionPolicy - Default - An unexpected exception was caught
2014-07-15 13:58:02972[20]Orchard.Exceptions.DefaultExceptionPolicy-默认-捕获到意外异常
http://localhost/Orchard/Admin/Widgets/AddWidget?layerId=3&widgetType=CalendarWidget&zone=Content&returnUrl=%2FOrchard%2FAdmin%2FWidgets
System.InvalidCastException:指定的强制转换无效。
在c:\Workspaces\Orchard\src\Orchard\ContentManagement\ContentExtensions.cs中的Orchard.ContentManagement.ContentCreateExtensions.New[T](IContentManager,字符串contentType)中:第21行
在c:\Workspaces\Orchard\src\Orchard.Web\Modules\Orchard.Widgets\Controllers\AdminController.AddWidget(Int32 layerId,String widgetType,String zone,String returnUrl)中的c:\Workspaces\Orchard\src\Orchard.Web\Modules\Orchard.Widgets\Controllers\AdminController
在lambda_方法中(闭包、控制器基、对象[])
位于System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary`2参数)
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor,IDictionary`2参数)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.b_u39(IAsyncResult asyncResult,ActionInvokeInnerInvokeState)
位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3f()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c__DisplayClass48.b__41()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c__DisplayClass48.b__41()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c__DisplayClass48.b__41()中
2014-07-15 13:59:32478[5]Orchard.Exceptions.DefaultExceptionPolicy-默认-捕获到意外异常
我应该先看看哪里


谢谢

显示您的迁移:您可能忘记添加公共部分、小部件部分或小部件原型。嗨,Bertrand,我必须在数据库中为该部分创建表。然后成功了!我认为使用Infoset,无需为零件创建表。这是正确的:如果使用Infoset,则无需为零件创建表。显示您的部件。这是部件类:
public-class-CalendarWidgetPart:ContentPart{public-int-QueryId{get{return-Retrieve(x=>x.QueryId);}set{Store(x=>x.QueryId,value);}}}}
对,如果您想使用信息集,只需去掉您的记录类。