我正按照以下说明重建Orchard画廊: http://orchardgallery.codeplex.com/SourceControl/changeset/view/6a5476676f50#Readme.txt
获取所有最新版本后,Gallery无法编译,因为此错误:
错误4名称空间'Orchard.Core'中不存在类型或命名空间名称'Routable'(您是否缺少程序集引用?) ... \ Orchard.Gallery \ Orchard \ src \ Orchard.Web \ Modules \ Orchard.Gallery \ Models \ PackagePart.cs 5 20 Orchard.Gallery
似乎Routable的东西已从最新的存储库中移除......
我该如何解决这个问题?
由于
编辑: 更加具体: 自从画廊谈论“最新果园”以来,什么是“与画廊合作的最新果园”?
更一般的果园问题: 如果一个人在其模块中使用“Routable”对象(针对果园1.4)并稍后决定升级到1.6,那么如何更改代码以使其模块兼容?
答案 0 :(得分:2)
从Orchard 1.4开始,旧路线部分分为两个不同的部分。
您可以在此处详细了解: http://www.davidhayden.me/blog/whats-new-in-orchard-1.4 http://www.davidhayden.me/blog/autoroute-custom-patterns-and-route-regeneration-in-orchard-1.4
Gallery已发布1.3版(从那时起从未更新) 因此,如果您想在1.4上运行,您必须更改一些代码以便在1.4或更高版本上进行编译(我现在正在做最新的:1.6)
所以修复是: 添加对Autoroute模块的引用,并删除对Routable的所有命名空间引用 用TitlePart(标题)或AutoroutePart(Slug)替换所有RoutableParts
public string Title
{
- get { return this.As<RoutePart>().Title; }
- set { this.As<RoutePart>().Title = value; }
+ get { return this.As<TitlePart>().Title; }
+ set { this.As<TitlePart>().Title = value; }
}
public string Slug
{
- get { return this.As<RoutePart>().Slug; }
- set { this.As<RoutePart>().Slug = value; }
+ get { return this.As<AutoroutePart>().DisplayAlias; }
+ set { this.As<AutoroutePart>().DisplayAlias = value; }
}
另一点是IUserEventHandler已扩展且Gallery未实现所有方法。
TaxonomyService改变了一些方法: http://orchardgallery.codeplex.com/SourceControl/network/Forks/akoeplinger/ChangesInContribTaxonomies/contribution/1336