你们有没有成功在Azure中构建和部署Orchard CMS(1.1及以上版本)的人?
我试图建立源代码(从Codeplex repo中提取),如下所示:http://www.orchardproject.net/docs/Deploying-Orchard-to-Windows-Azure.ashx但继续失败.如果您看到该文章的评论,您会看到一些人遇到与ClickToBuildAzurePackage.cmd相同的问题.它总是失败!!它根本不起作用!
接下来,我下载了源代码包(Orchard.Web.1.2.41.zip)并尝试打开Orchard.Azure解决方案,构建并发布它(配置了远程桌面连接).在发布之前,我还在ServiceConfiguration.cscfg文件中放入了正确的DataConnectionString.它通过以下消息给了我一个黄色的死亡屏幕:
没有使用策略’Autofac.Core.Activators.Reflection.BindingFlagsConstructorFinder’找到的构造函数
接下来,我尝试仅部署Azure包(没有源代码,Orchard.Azure.1.2.41.zip).这一次,我可以得到安装屏幕但是在安装完成后,它给了我另一个黄色的死亡屏幕,其中有几条错误消息,基本上提醒我对媒体,主题,模块和其他一些文件夹给予适当的许可……如果我甚至无法为Azure设置远程桌面连接,如何如上所述?
我放弃了这个…我开始认为Orchard CMS(1.1及以上版本)还没有为Azure做好准备.我可以在Azure中运行1.0.2版本并运行(直接部署Azure-ready软件包,我没有构建源代码).
任何人都可以分享他们在这个问题上的经验以及让Orchard CMS(1.1及以上版本)在Azure中顺利运行的分步指南吗?我是否可以知道我们是否也可以在Azure中为Orchard CMS设置2个实例?为实现这一目标,我需要考虑/做些什么?
谢谢!
一些指针
>与运行本地相比,我的Global.asax.cs在Azure上看起来有点不同.
public class AzureApplication : HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); } protected void Application_Start() { CloudStorageAccount.SetConfigurationSettingPublisher( (configName,configSetter) => configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)) ); // For information on handling configuration changes // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357. RoleEnvironment.Changing += (sender,e) => { // If a configuration setting is changing if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange)) { // Set e.Cancel to true to restart this role instance e.Cancel = true; } }; RegisterRoutes(RouteTable.Routes); Starter.LaunchStartupThread(MvcSingletons); } protected void Application_BeginRequest() { Context.Items["originalHttpContext"] = Context; Starter.OnBeginRequest(Context,MvcSingletons); } protected void Application_EndRequest() { Starter.OnEndRequest(); } static void MvcSingletons(ContainerBuilder builder) { builder.Register(ctx => RouteTable.Routes).SingleInstance(); builder.Register(ctx => ModelBinders.Binders).SingleInstance(); builder.Register(ctx => ViewEngines.Engines).SingleInstance(); } }
>我在/ App_Data /目录中部署网站时遇到问题.将程序包上载到Azure时,请确保它为空.
>您需要告诉Autofac将一些Azure特定类用于设置和博客存储.您可以在/Config/Host.config和/Config/Sites.config中找到它们.转到上面的博客文章,了解我如何设置它们.
>我花了几个小时搜索未复制到Azure包的程序集.确保所有引用都是“Copy Local”,甚至是MVC3引用.
>确保在ServiceConfiguration.cscfg中确保您具有正确的DataConnectionString设置.我长时间撞在墙上,因为我在那里为另一个帐户添加了一个连接字符串.
>如果您打算从脚本部署,则需要设置将用于部署的证书.我使用Visual Studio创建证书,然后只从我的脚本中引用它.
祝你好运!