2

我正在尝试根据以下说明重建果园画廊:http: //orchardgallery.codeplex.com/SourceControl/changeset/view/6a5476676f50#Readme.txt

获取所有最新版本后,Gallery 无法编译,因为此错误:

错误 4 命名空间“Orchard.Core”中不存在类型或命名空间名称“可路由”(您是否缺少程序集引用?)...\Orchard.Gallery\Orchard\src\Orchard.Web\Modules\Orchard。 Gallery\Models\PackagePart.cs 5 20 Orchard.Gallery

似乎可路由的东西已从最新的存储库中删除...

我怎样才能解决这个问题?

谢谢

编辑:更具体:由于画廊指南谈到“最新果园”,什么是“与画廊合作的最新果园”?

更一般的果园问题:如果在其模块中使用“可路由”对象(针对果园 1.4)并决定稍后升级到 1.6,如何更改代码以使其模块兼容?

4

1 回答 1

2

从 Orchard 1.4 开始,旧的 Route 部分被分成 2 个不同的部分。

您可以在此处阅读更多信息: 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 模块的引用并删除对可路由的所有命名空间引用 用 TitlePart (Title) 或 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

于 2013-02-06T11:41:22.197 回答