【发布时间】:2014-07-10 16:27:19
【问题描述】:
我们正在运行 Sitecore 7.2,并且正在探索将 Glass.Mapper.Sc.CastleWindsor 用于一个刚刚开始的大型项目。我们遇到了问题。
我们有以下解决方案: 1. 核心可重用代码的基础项目 2. 可重用的web代码、控件等的基础web项目(参考#1) 3. 领域模型和其他非web代码的项目特定项目(参考#1) 4.项目特定的web项目(参考#1、2、3)
项目#2 和#4 指向同一个Web 根目录。我们运行 Sitecore 的多站点实例,但这个项目是我们在 7.x 版本上的第一个项目;其他的将在适当的时候迁移。
在 GlassMapperScCustom GlassLoaders() 方法中,我们有这个:
return new IConfigurationLoader[] { new SitecoreAttributeConfigurationLoader("{assembly name of project # 3}") };
对于我们的第一个概念验证,我们在项目 3 中找到了一个域模型类,并试图让 Glass 映射在项目 4 中工作。没有骰子。以下都返回一个项目,但没有填写字段:
new SitecoreContext().GetCurrentItem<{class name}>()
new SitecoreContext().GetItem<{class name}>("path")
new SitecoreContext().GetItem<{class name}>(new Guid("Sitecore GUID"))
我们已尝试在所有四个项目中安装 nuget 包 Glass.Mappers.Sc.CastleWindsor,但无济于事。我们也尝试过使用 VersionDisabler、检查网站语言等,但也没有成功。
Glass.Mapper.Sc 教程和一些示例代码不一致,我怀疑这是问题的一部分。一些教程展示了旧的做事方式,另一些展示了新的,但我们现在已经尝试了教程中显示的所有方式来加载我们的类。
这个页面... http://www.glass.lu/download/glass-sitecore-mapper/ ...似乎表明 Glass 仅在 7.0 版之前支持 Sitecore。这是准确的,还是只是更过时的信息?这些链接似乎从那个 Marketplace 页面转到旧的 Sitecore Mapper 网站。
我们需要尽快完成这项工作,否则我们将不得不放弃在这个大型项目中使用 Glass,我们不愿意这样做,因为这将意味着进一步使用自定义物品生成器或裸物品访问.感谢您提供的任何帮助。
【问题讨论】:
-
您能否发布您尝试映射的模型以包含映射标记有问题?
-
更重要的是,您如何设置温莎城堡?默认安装只注册正在执行的程序集,而不是任何引用的程序集。
标签: sitecore sitecore7 glass-mapper sitecore7.2