如何将Orchard CMS Web项目部署到Windows Azure云服务?

时间:2012-08-20 13:47:59

标签: deployment azure cloud orchardcms webrole

基本上,我希望能够将Orchard CMS Web应用程序部署到Windows Azure云服务。我尝试按照我通常对其他任何Web应用程序执行的相同步骤进行操作,但它只是不起作用。

UPDATE 我从orchardproject.net网站下载了Orchard.Source.1.5.1。添加了我的自定义模块和主题。将Web应用程序发布到本地文件夹。这将导致Orchard Web应用程序。我打开此Web应用程序,添加Windows Azure Cloud Service项目,我的Web应用程序是此项目中的Web角色。我用我的名字和密钥将DataConnectionString设置到我的azure云存储中。发布到Azure。

部署结束后,当我转到网站网址查看结果时,我得到了YSOD,但有以下异常:


' /'中的服务器错误应用

没有任何构造函数使用'公共绑定标记'在类型' Orchard.Environment.DefaultOrchardShell'可以使用可用的服务和参数调用: 无法解析参数' Orchard.Mvc.Routes.IRoutePublisher routePublisher'构造函数' Void .ctor(System.Func 1[Autofac.Features.OwnedInstances.Owned 1 [Orchard.Environment.IOrchardShellEvents]],System.Collections.Generic.IEnumerable 1[Orchard.Mvc.Routes.IRouteProvider], Orchard.Mvc.Routes.IRoutePublisher, System.Collections.Generic.IEnumerable 1 [Orchard.Mvc.ModelBinders.IModelBinderProvider] ,Orchard.Mvc.ModelBinders.IModelBinderPublisher,Orchard.Tasks.ISweepGenerator)'。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:Autofac.Core.DependencyResolutionException:没有找到带有'公共绑定标志的构造函数'在类型' Orchard.Environment.DefaultOrchardShell'可以使用可用的服务和参数调用: 无法解析参数' Orchard.Mvc.Routes.IRoutePublisher routePublisher'构造函数' Void .ctor(System.Func 1[Autofac.Features.OwnedInstances.Owned 1 [Orchard.Environment.IOrchardShellEvents]],System.Collections.Generic.IEnumerable 1[Orchard.Mvc.Routes.IRouteProvider], Orchard.Mvc.Routes.IRoutePublisher, System.Collections.Generic.IEnumerable 1 [Orchard.Mvc.ModelBinders.IModelBinderProvider] ,Orchard.Mvc.ModelBinders.IModelBinderPublisher,Orchard.Tasks.ISweepGenerator)'。


更新: 我按照果园项目网站上的指南"将Orchard部署到Windows Azure"并没有触及任何东西,只是从存储库中获取所有源代码,从Visual Studio 2010命令行运行ClickToBuildAzure,没有收到任何错误消息,在ServiceConfiguration文件中设置我的存储并上传了我的包和ServiceConfiguration文件。部署顺利。我进入Orchard入门屏幕,但在输入所有信息后,包括连接到我的SQL Azure DB的连接字符串(从Azure Portal获取连接字符串并插入我的密码),我收到以下错误:

安装失败:调用构造函数' Void .ctor时抛出异常(Orchard.Environment.Configuration.ShellSettings,Orchard.Data.ISessionLocator,System.Collections.Generic.IEnumerable`1 [Orchard.Data。 Migration.Interpreters.ICommandInterpreter],Orchard.Data.ISessionFactoryHolder,Orchard.Reports.Services.IReportsCoordinator)'在类型' DefaultDataMigrationInterpreter'。

我甚至没有到达AddingaModuletotheDistribution点。


guide provided by the Orchard Team对我来说不是理想的解决方案。

我开发了自定义模块和主题,我在Visual Studio和TFS的开发环境中工作,不想将它与WebMatrix一起使用并部署到Azure网站。

我从果园网站下载了源代码并添加了一个azure web角色项目。

顺便说一句,我已经检查了this questionthis blog post但仍然无法解决我的问题。

我发现的一切都已经过时了!

我快要放弃了。谁能告诉我这是否可行?或者与Orchard合作的唯一方法是WebMatrix?

2 个答案:

答案 0 :(得分:0)

您需要更仔细地阅读文档,因为此处介绍了添加模块和主题:http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure#AddingaModuletotheDistribution

您需要将模块和主题添加到Azure解决方案,而不是src中的Orchard解决方案。完成后,ClickToBuildAzure脚本将生成一个包含模块和主题的包,并且可以很好地部署到Azure。

答案 1 :(得分:0)

您可以尝试http://docs.orchardproject.net/Documentation/Building-and-deploying-Orchard-from-a-source-code-drop这就解决了我刚才遇到的完全相同的异常,但我的目的是在IIS而不是Azure上运行。

没有进行调查,以确定链接中的哪些步骤可以满足IoC容器的要求,这些步骤不能通过常规文件系统发布来满足。