【问题标题】:Unable to deploy Orchard Azure project - YSOD fresh off sources无法部署 Orchard Azure 项目 - YSOD 新鲜出炉
【发布时间】:2013-08-14 20:10:15
【问题描述】:

我正在将 Orchard 部署到 Azure 云服务 (webrole),而不对官方稳定版本进行任何代码更改。但是,当我导航到新部署的 Orchard 云服务 (webrole) 时,我看到一个带有 Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified 的 YSOD。

作为一种解决方法,如果我启用 Local Copy=True(即修改源),那么这个特定的 YSOD 会消失,但会被另一个 msshrtmi 替换。但更重要的是,我能够毫无问题地部署预先构建的下载 Orchard Azure(1.7,预先构建了相同的 GIT src 标签),所以我宁愿修复根本问题,也不愿陷入解决方法的兔子洞和漂移进一步来自官方来源。

我是如何遇到这个问题的:

  1. 从GIT下载源码(http://orchard.codeplex.com/SourceControl/latest,我用过commit 5e0c26f73cf5,)
  2. 运行ClickToBuildAzurePackage.cmd脚本
  3. 编辑 buildazure\Stage\ServiceConfiguration.cscfg 以放入连接字符串以指向真正的 Azure 存储帐户(与本地存储相比)。
  4. 通过 windowsazure.com 门户将 buildazure\Stage 中的两个文件部署到 Azure
  5. 导航到网站(例如:http://OrchardTest.cloudapp.net
  6. 享受黄屏死机:(

我们的本地构建系统:

  • Windows 8,x64
  • VS2012.3
  • Azure SDK 1.7、1.8、2.0

问题:

有人成功部署到 Azure 吗?任何想法如何解决这个问题?

【问题讨论】:

    标签: azure orchardcms


    【解决方案1】:

    在 Azure 服务运行时永远不需要 CopyLocal True。它会自动包含在包中,由您的云服务项目(在本例中为 Orchard.Azure.CloudService)定义。实际上,如果 bin 包含的服务运行时版本与构建 Azure 包的版本不同,我可以想象 CopyLocal True 可能会导致问题。

    Orchard Azure 使用 Azure 2.0 库。它表明您已安装 2.0 SDK,因为您可以编译 Orchard.Azure.CloudService 项目以制作包。云服务项目对于每个版本的 Azure 工具都有不同的项目指南,因此如果没有 v2.0 SDK,它将是一个未知的项目类型。但是,随着您的 Orchard 网站选择 ServiceRuntime v1.7,您的本地环境似乎有些问题,因为它仍应与 v2.0 识别。

    当您打开 Orchard.Azure.sln 时,检查 Orchard.Azure.Web 项目中 Microsoft.WindowsAzure.ServiceRuntime 引用上的属性。 Visual Studio 在该参考上列出的版本是什么?它应该是 2.0.0。如果没有,我最好的建议是重新安装 2.0 库。

    您定义的部署步骤在没有 YSOD 的情况下运行良好。在写这篇文章之前,我成功地尝试了它;它没有重现您的问题。

    【讨论】:

    • 密钥是my best recommendation would be to reinstall the 2.0 Libraries。我卸载了所有的 SDK(1.7、1.8、2.0)重新启动,然后安装了 2.0。我仍然必须通过ClickToBuildAzurePackage.cmd 脚本进行构建,因为 VS2012 中的构建因None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'Orchard.Environment.DefaultOrchardShell' can be invoked with the available services and parameters: 而失败——但这是另一个问题(而且不是什么大问题)。谢谢。
    • 补充一点,一旦我发现过去几天对开发分支(即1.x 分支)所做的最新更改,VS2012 构建失败的问题也得到了解决。一切都好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多