无法加载文件或程序集ServiceRuntime 2.4.0.0

时间:2015-03-18 06:46:28

标签: azure azure-web-roles azure-sdk-.net azure-service-runtime

升级我们的项目以使用Azure SDK 2.5后,部署到Azure(Web角色)时出现以下运行时异常:

  

无法加载文件或程序集   ' Microsoft.WindowsAzure.ServiceRuntime,Version = 2.4.0.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。系统找不到指定的文件。

NuGet引用的其中一个软件包仍在引用ServiceRuntime 2.4.0.0。根据我的理解,我需要做的就是在bindingRedirect中创建一个web.config

<dependentAssembly>
    <assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-2.5.0.0" newVersion="2.5.0.0"/>
</dependentAssembly>

不幸的是,这不起作用。例外仍然存在。有人可以提供指导吗?

2 个答案:

答案 0 :(得分:12)

升级到SDK 2.5后,我遇到了同样的问题。我通过解决方案中的所有项目,检查了所有对 Microsoft.WindowsAzure.ServiceRuntime 的引用。删除它们,然后使用添加引用选项再次添加它们。再次选择程序集,但请确保它是2.5.0.0版本。重建和重新部署。事情现在应该再次发挥作用。

答案 1 :(得分:1)

对我来说,为引用的程序集设置Copy Local属性为True修复此问题。

  1. 在解决方案资源管理器中,找到您项目对库的引用。
  2. 右键单击并选择“属性”
  3. 在“属性”窗口中,将“将本地复制为True”