相关疑难解决方法(0)

无法使用表存储在Azure Cloud Worker角色中加载文件或程序集Microsoft.Data.OData Version = 5.2.0.0错误

我使用Azure表存储有一个非常奇怪的问题.我在Visual Studio 2012中有一个.NET 4.5项目,我处理所有Azure表存储功能.这个项目/ dll由另外两个项目引用,我的MVC网站和我的Azure工作者角色.(我在我的机器上的Azure Emulators下运行,但是当我将它部署到云时也会发生这种情况)

我保存或检索记录时调用以下函数:

internal static CloudTable GetTable(CloudStorageAccount storageAccount, string tableReference)
{
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

    CloudTable table = tableClient.GetTableReference(tableReference);
    table.CreateIfNotExists();

    return tableClient.GetTableReference(table.Name);
}
Run Code Online (Sandbox Code Playgroud)

在我的MVC网站中,我有一个将记录保存到Azure存储表的功能,然后在我的Azure工作者角色中有一个将读取记录的服务.

因此,两者都使用相同的dll进行存储和检索,但是我的MVC项目在保存记录时没有问题,但是当我尝试检索记录时,我的Azure Worker角色服务在尝试执行"table.CreateIfNotExists()时抛出异常;".

无法加载文件或程序集"Microsoft.Data.OData,Version = 5.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我已经做了以下事情:

  1. 更新了从解决方案级别到最新版本的所有NuGet软件包
  2. 我浏览了每个项目参考,以确保没有旧的dll或以前的版本,特别是System.Spatial,Microsoft.WindowsAzure.Configuration,Microsoft.WindowsAzure.ServiceRuntime和Microsoft.ServiceBus,Microsoft.WindowsAzure.Storage, Microsoft.Data.Edm和Microsoft.Data.OData
  3. 我甚至从头开始创建了一个新的Cloud Service和WorkerRole项目,以确保它不会在当前的WorkerRole项目中被破坏.

我还没有将dll推回到5.2,因为我在其他项目中遇到太多问题,我使用的功能从5.3开始具体.

我目前正在5.5上运行所有的dll.

当我运行此处找到的AsmSpy.exe实用程序时,我得到以下输出,我不是100%确定如何解释.

> Reference: Microsoft.Data.Edm
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client
>         5.5.0.0 by Microsoft.WindowsAzure.ActiveDirectory.GraphHelper.2013_04_05
> Reference: System.Spatial
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client Reference: Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client …
Run Code Online (Sandbox Code Playgroud)

c azure azure-storage azure-table-storage

37
推荐指数
3
解决办法
6万
查看次数

Azure网站上缺少Microsoft.Data.Services.Client 5.6版

我最近尝试将网站部署到使用Azure存储的Windows Azure网站服务.部署后,我收到来自Storage SDK的以下错误,该错误似乎引用了尚不存在的程序集版本.我无法在任何地方找到此版本的DLL文件.有什么建议?

无法加载文件或程序集'Microsoft.Data.Services.Client,Version = 5.6.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

.net azure azure-storage

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

azure ×2

azure-storage ×2

.net ×1

azure-table-storage ×1

c ×1