【问题标题】:Assembly could not be loaded - deploying to Azure - Microsoft.Activities.Extensions无法加载程序集 - 部署到 Azure - Microsoft.Activities.Extensions
【发布时间】:2013-02-02 17:49:54
【问题描述】:

我的解决方案中有一个工作流项目引用了 Microsoft.Activies.Extensions.dll 2.0.2.16

我使用 NuGet 包管理器升级到当前版本 2.0.6.9

将引用工作流项目 .dll 的 Web 角色部署到我得到的云:

 Could not load file or assembly 'Microsoft.Activities.Extensions, PublicKeyToken=23b0c89d0d5ad43f' or one of its dependencies. The system cannot find the file specified.

我远程桌面到 VM 并检查了 F:/approot/bin 以查看没有部署任何版本的程序集。

由于这是一个 NuGet 包,我可以在我的 <Solution root>/Packages folder 中找到它。我看到了 NuGet 创建的新文件夹,但也看到了旧版本的文件夹,尽管程序集不在里面。我删除了那个文件夹并在我的 web.config 中放置了一个程序集重定向:

<dependentAssembly>
    <assemblyIdentity name="Microsoft.Activities.Extensions" publicKeyToken="23b0c89d0d5ad43f" />
    <bindingRedirect oldVersion="2.0.2.12" newVersion="2.0.6.9" />
  </dependentAssembly>

通过 Publish 进行清理、构建、重新部署。

错误仍然存​​在,再次挖掘 approot/bin 显示程序集仍未部署。

当然,我将 Copy Local 设置为 true。

为什么没有部署?

【问题讨论】:

    标签: azure workflow-foundation-4 assembly-resolution


    【解决方案1】:

    好的,找到这篇文章解决了:

    http://weblogs.asp.net/albertpascual/archive/2008/12/16/the-cloud-for-a-fast-deployment-of-proof-of-concepts.aspx

    事实证明,当 Web 角色引用一个程序集而不是引用其他程序集时,即使 Copy Local = true,这些程序集也不会被部署。

    解决方案是直接在 web-role 项目中使用 Copy Local to true 引用这些子依赖项。

    只有到那时,它们才会在部署时出现在我的 approot/bin 中。

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多