在Sitecore 8.1上运行新网站 - 安装并设置了Glass.Mapper但我不能使用@RenderImage这样的调用 - 它抱怨我错过了对Glass.Mapper.Sc.Mvc的引用,我已经。
以下是为Glass.Mapper安装的Nuget模块:
- BoC.Glass.Mapper
- BoC.Glass.Mapper.Sc
- BoC.Glass.Mapper.Sc.CastleWindsor
- Castle Windsor
- Castle.Core
- Glass.Mapper.Sc
我已将它安装在另一个Sitecore(7.5)实例上 - 旧版本的Glass.Mapper,但我注意到Nuget包不再存在。
有什么想法吗?
谢谢!
丹
答案 0 :(得分:4)
BoC.Glass.Mapper
是Glass Mapper的一个分支,我相信它还没有更新到V4。删除它(以及它添加或部署的任何配置)并重新开始我说。只需添加Glass.Mapper.Sc
nuget包即可添加正确的依赖项,并与Sitecore 8.1兼容。
为了更加确定,这是正确的版本:https://www.nuget.org/packages/Glass.Mapper.Sc/
确保您的项目中引用了Sitecore.Kernel
和System.Web.Mvc
,因为nuget包中有一个安装后步骤,可以为您的项目添加正确版本的Glass dll。
为了简单起见,V4使用Powershell脚本来决定哪个 引用添加到您的项目,它检查Sitecore.Kernel 版本和System.Web.Mvc版本,然后安装 适当的Glass.Mapper.Sc和Glass.Mapper.Sc.Mvc程序集。
关于@RenderImage
,要么从GlassView<>
继承您的观点,要么更好地使用扩展方法,例如@Html.Glass().RenderImage()
。
此处有更多信息:http://glass.lu/Blog/GlassV4