1

尝试从适用于 Windows Azure 的 Enterprise Library 5.0 集成包中使用 WASABi获取此Azure Autoscale 演示项目时出现此错误。正确遵循所有指令时引发的错误是:

尝试在 c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft 中获取 Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Typ e serviceType, String key) 类型 Autoscaler 的实例时发生激活错误。 Practices.ServiceLocation\ServiceLocatorImplBase.cs:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstanceTSe 服务的第 57 行
,位于 c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft.Practices .ServiceLocation\ServiceLocatorImplBase.cs:PB_WASABi_autoscaler 的第 90 行。 Program.Main(String[] args) 在 c:\Users\daniel\Documents\Visual Studio 2012\Projects\PB-WASABi-autoscaler\PB-WASABi-autoscaler\Progr am.cs:line 13

使用 Windows Azure 1.7 库。

4

1 回答 1

3

教程(和其他在线资源)主要使用 Azure 1.6 SDK。

它在控制台应用程序中有对 Azure SDK 1.6 中的 WindowsAzure.StorageClient.dll 文件的引用时起作用。在 Azure SDK 1.7 环境下,出现此错误消息:尝试获取 Autoscaler 类型的实例时发生激活错误,密钥“”。在错误详细信息中,我们发现:无法加载文件或程序集 'Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)。

解决方案:

app.config 文件中的绑定重定向将解决该问题:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.WindowsAzure.StorageClient"
                          publicKeyToken="31bf3856ad364e35"
                          culture="neutral" />
        <bindingRedirect oldVersion="1.1.0.0"
                         newVersion="1.7.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

来源:这里

于 2012-10-31T15:39:25.283 回答