0

使用 Glass 映射器时,我在 Sitecore 中缺少方法异常。这在 Sitecore 7 项目中有效,但是当我尝试在 Sitecore 6.6 项目中使用它时,它失败了。我不知道如何找到正在进行的底层方法调用中的问题。

我猜这可能是由于 Sitecore 6.6 和 Sitecore 7.0 中的 .net 框架版本不同

我正在使用Glass.Mapper.Sc.CastleWindsor nuget 包版本 3.0.3.7

[MissingMethodException: Method not found: 'System.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)'.]
Glass.Mapper.Utilities.CreateConstructorDelegates(Type type) +0
Glass.Mapper.Pipelines.ConfigurationResolver.Tasks.OnDemandResolver.OnDemandLoader`1.Load() +102
System.Linq.WhereSelectArrayIterator`2.MoveNext() +110
System.Linq.Enumerable.Aggregate(IEnumerable`1 source, Func`3 func) +123
Glass.Mapper.Context.Load(IConfigurationLoader[] loaders) +284
Glass.Mapper.Pipelines.ConfigurationResolver.Tasks.OnDemandResolver.ConfigurationOnDemandResolverTask`1.Execute(ConfigurationResolverArgs args) +155
Glass.Mapper.Pipelines.AbstractPipelineRunner`2.Run(T args) +210
Glass.Mapper.AbstractService.InstantiateObject(AbstractTypeCreationContext abstractTypeCreationContext) +77
Glass.Mapper.Sc.SitecoreService.CreateType(Type type, Item item, Boolean isLazy, Boolean inferType, Object[] constructorParameters) +297
Glass.Mapper.Sc.SitecoreService.CreateType(Item item, Boolean isLazy, Boolean inferType) +109
Glass.Mapper.Sc.Web.Ui.GlassUserControl`1.GetModel() +147
Glass.Mapper.Sc.Web.Ui.GlassUserControl`1.OnLoad(EventArgs e) +28
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Control.LoadRecursive() +190
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3048

此外,我无法在任何地方找到 Glass mapper 的完整来源。

4

1 回答 1

0

这是您的 .NET 框架版本。我猜你的 Sitecore 7 作为 .NET 4.5 运行,而你的 6.6 解决方案运行在更低的版本上。

最近的 6.6 版本(至少 130404 版)支持 .NET Framework 4.5 版

System.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)

http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/ChangeLog/Release%20History%20SC66.aspx#660update6

于 2013-09-04T10:51:28.993 回答