Deployment 如何在Windows Azure中部署Orchard CMS?

Deployment 如何在Windows Azure中部署Orchard CMS?,deployment,azure,installation,orchardcms,Deployment,Azure,Installation,Orchardcms,专家们 你们当中有谁在Azure中成功构建和部署了Orchard CMS(1.1及以上版本)吗 我已经尝试按照这里的建议构建源代码(从Codeplex repo中提取):但一直失败。如果你看到那篇文章的评论,你会看到一些人对ClickToBuildAzurePackage.cmd也有同样的问题。它总是失败!!根本不起作用 接下来,我下载了源代码包(Orchard.Web.1.2.41.zip),并尝试打开Orchard.Azure解决方案,构建并发布它(配置了远程桌面连接)。在发布之前,我还将正

专家们

你们当中有谁在Azure中成功构建和部署了Orchard CMS(1.1及以上版本)吗

我已经尝试按照这里的建议构建源代码(从Codeplex repo中提取):但一直失败。如果你看到那篇文章的评论,你会看到一些人对ClickToBuildAzurePackage.cmd也有同样的问题。它总是失败!!根本不起作用

接下来,我下载了源代码包(Orchard.Web.1.2.41.zip),并尝试打开Orchard.Azure解决方案,构建并发布它(配置了远程桌面连接)。在发布之前,我还将正确的DataConnectionString放入ServiceConfiguration.cscfg文件中。它给了我一个黄色的死亡屏幕,上面写着这样的信息:

未找到具有策略“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个实例吗?我需要考虑哪些因素来实现这一点?
谢谢

我自己没有做过这件事

但我读过一些关于将Orchard部署到Azure的博客文章,例如see,所以我相信这是可以做到的


在死亡问题的特定黄色屏幕上-确保您已使用NuGet解决AutoFac依赖项-请参见

我已经做了十几次了,没有任何问题。关于ClickTobuild,您是在Visual Studio命令提示符下完成的吗?

我没有让ClickToBuildToAccure.cmd脚本工作,这就是我编写Stuart帮助链接到的脚本的原因。我的博客运行在Azure上,这些博客文章描述了我是如何做到这一点的

一些指针

  • 我的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包的程序集。确保所有引用都是“复制本地”,即使是MVC3引用

  • 请确保ServiceConfiguration.cscfg中的DataConnectionString设置正确。我的头撞在墙上很长一段时间,因为我在那里为另一个帐户设置了连接字符串

  • 如果要从脚本部署,则需要设置用于部署的证书。我使用VisualStudio创建证书,然后仅从脚本中引用它


  • 祝你好运

    自2012年6月以来,还可以在Windows Azure网站上轻松托管Orchard

    这里有一个操作指南:


    这是一种替代方法,在提出原始问题时还不存在,但对于希望在Windows Azure上轻松部署Orchard CMS的未来读者来说可能仍然很有趣。

    是的,我是使用Visual Studio 2010命令提示符(以管理员身份运行)实现的。有没有关于如何使用ClickTobuild成功构建包的建议?是否可以使用Visual Studio 2010直接构建包?啊,您是否检查过是否有Azure SDK的1.4版本?根据我的经验,很容易在没有意识到的情况下获得旧版本。是的,我使用的是1.4版。我尝试下载并部署Azure ready软件包,它在Azure中运行良好。我想知道你是如何编译源代码的。我按照@Stuart的建议,通过使用NuGet package manager解决依赖性问题,成功地使ClickToBuild编译器工作。我的方法是:打开Visual Studio 2010命令提示符,将源repo克隆到最新默认分支的目录,然后运行clicktobuildazure.cmd。就这样。经过几分钟的详细编译,我得到了一个包含要部署的包和配置的zip文件。你肯定在某个地方偏离了这一点,但我无法从你的描述中发现它,抱歉。因此,我再次尝试,完全按照你的建议…我运行了控制台,出现了以下错误:。由于出现了错误,我更新了AzurePackage.proj并删除了测试(第27行),再次运行控制台并成功编译。我部署到Azure,得到了这个屏幕:。很好的解释,伙计!我花了一些时间来解决#4,最终在Azure中实现了它。我认为所有这些过程在某个时候都需要简化。你的博客文章真的很有用,这对我帮助很大。谢谢!我已经成功地让Orchard 1.3使用SDK1.6在Azure上运行。此处的基本说明: