果园cms:模块包没有安装

时间:2012-08-26 13:29:49

标签: orchardcms

设定:

我创建了一个在创建它的解决方案中工作正常的模块,即果园源代码。然后我使用包创建打包它。

编辑:我现在意识到安装Visual Studio 2012后问题立即出现。

问题:

如果我现在使用软件包在不同的应用程序上安装模块并从文件安装,所有警报显示模块已安装,它出现在功能列表中,它已启用...但没有菜单项,没有条目在迁移表中,没有。

编辑:日志中没有任何内容。但是,这些文件正确安装在站点的modules文件夹中。

问题:

如果模块在创建它的源代码解决方案中正常工作,那么使用软件包阻止正确安装模块会出现什么问题?

有什么建议吗?

编辑:

如何安装Visual Studio 2012影响了Orchard?

我注意到安装visual studio 2012会导致同时安装各种sql server 2012。这可能是相关的吗? EG,这就是迁移代码从未运行的原因吗?

根据Bertrand Le Roy的评论编辑(见下面这个问题):

BertrandLeRoy表示,在GAC中安装ASP.NET MVC 4以及Razor 2(两者都附带VS 2012)都是问题所在。

他建议升级到Orchard 1.5.x.

然而:

我尝试过使用Orchard 1.5.1的新安装,问题是一样的:

  1. 使用VS 2012和Orchard 1.5.1的源代码创建新模块,从VS运行果园站点时,模块正确显示。

  2. 创建一个软件包,然后将其安装到Orchard 1.5.1站点,例如,使用WebMatrix,运行然后安装软件包具有以下效果:

  3. 2.1。仪表板中的警报告诉我包已正确安装。

    2.2。但是,启用该功能无效。

    2.3。这并不奇怪,因为安装程序包甚至没有运行迁移。

    我能做的最后一个测试是查看软件包是否在没有安装asp.net mvc4的Web服务器上运行。一旦完成,我会回复。

    然而,重点是使用Orchard 1.5.1会产生完全相同的结果。所以,如果问题确实是MVC 4和Razor 2在机器上,那么Orchard 1.5.1就没有解决它。

    也就是说,当我在网络服务器上安装mvc 4时会发生什么,因为我不可避免地要为其他非Orchard应用程序使用?

1 个答案:

答案 0 :(得分:0)

我在版本1.8.1上遇到了同样的事情。也就是说,模块似乎安装得很好,但它实际上并没有正确执行迁移或加载。

最初,我在日志中没有看到任何迹象表明存在问题。但是,在调整 /Config/log4net.config 文件以记录ALL而不是仅记录ERROR消息之后。我明白了:

... Orchard.Environment.Extensions.Loaders.PrecompiledExtensionLoader - 
- Extension "Transformalize" will not be loaded as pre-compiled extension 
because one or more referenced extension is dynamically compiled

部分说我的模块“不会被加载为预编译的扩展名,因为一个或多个引用的扩展名是动态编译的”似乎解释了为什么我的模块没有加载。所以,我用Google搜索并找到了关于 Orchard模块加载器和动态编译this documentation。它在凌晨2点有点复杂,但我收集的是我的模块对另一个模块的引用(在这种情况下为Orchard.Autoroute)导致生产环境中的日志消息(上图)。我删除了我的模块的引用和对Orchard.Autoroute的依赖,然后安装得很好。

documentation解释了如何动态编译模块以及 /Config/HostComponents.config 中的设置如何改变工作方式。