1

我正在使用Microsoft.WindowsAzure.Storage.dll6.0.0 版来处理 Azure 表存储。在表中添加新条目时,出现以下错误。

代码行抛出错误:

var operation = TableOperation.InsertOrReplace(entity);

await this.CloudTable.ExecuteAsync(operation).ConfigureAwait(false);-> // 抛出错误

其中实体的类型为 TableEntity

我引用了以下程序集:

<package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net451" />
<package id="Microsoft.Data.Edm" version="5.6.4" targetFramework="net451" />
<package id="Microsoft.Data.OData" version="5.6.4" targetFramework="net451" />
<package id="Microsoft.Data.Services.Client" version="5.6.4" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" />
<package id="System.Spatial" version="5.6.4" targetFramework="net451" />
<package id="WindowsAzure.Storage" version="6.0.0" targetFramework="net451" />

注意:代码在我的本地机器上运行时执行良好,但在我们不拥有的不同环境中运行时抛出上述异常。(不同的机器托管在其他地方,我们也无权访问这些机器)

错误:

错误:System.EntryPointNotFoundException:找不到入口点。#R##N# at Microsoft.WindowsAzure.Storage.Table.ITableEntity.get_PartitionKey()#R##N# at Microsoft.WindowsAzure.Storage.Table.TableOperation.GenerateCMDForOperation (CloudTableClient客户端,CloudTable表,TableRequestOptions modifiedOptions)#R##N#
在 Microsoft.WindowsAzure.Storage.Table.TableOperation.BeginExecute(CloudTableClient 客户端,CloudTable 表,TableRequestOptions requestOptions,OperationContext operationContext,AsyncCallback 回调,对象状态)#R##N# 在 Microsoft.WindowsAzure.Storage.Table.CloudTable.BeginExecute( TableOperation operation, TableRequestOptions requestOptions, OperationContext operationContext, AsyncCallback callback, Object state)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.BeginExecute(TableOperation operation, AsyncCallback callback, Object state)#R##N# at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.TaskFromApm[T1,TResult](Func 4 beginMethod, Func 2 endMethod, T1 arg1, CancellationToken cancelToken)#R##N# 在 Microsoft.WindowsAzure.Storage.Table.CloudTable。ExecuteAsync(TableOperation operation, CancellationToken cancelToken)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteAsync(TableOperation operation)#R##N# at Microsoft.OnlinePublishing.Retry.TaskRetryer 2.DoAction()# R##N#--- 从先前抛出异常的位置结束堆栈跟踪---#R##N# at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)#R##N# at System .Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)#R##N# at System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult()#R##N# at Microsoft.OnlinePublishing.Ingestion.Common.Cache。 CloudTableManager.d__6 1.MoveNext()ExecuteAsync(TableOperation operation)#R##N# at Microsoft.OnlinePublishing.Retry.TaskRetryer 2.DoAction()#R##N#--- 堆栈跟踪从上一个引发异常的位置结束---#R# #N# 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)#R##N# 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)#R##N# 在 System.Runtime.CompilerServices。 ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult()#R##N# at Microsoft.OnlinePublishing.Ingestion.Common.Cache.CloudTableManager.d__6 1.MoveNext()ExecuteAsync(TableOperation operation)#R##N# at Microsoft.OnlinePublishing.Retry.TaskRetryer 2.DoAction()#R##N#--- 堆栈跟踪从上一个引发异常的位置结束---#R# #N# 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)#R##N# 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)#R##N# 在 System.Runtime.CompilerServices。 ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult()#R##N# at Microsoft.OnlinePublishing.Ingestion.Common.Cache.CloudTableManager.d__6 1.MoveNext()ThrowForNonSuccess(Task task)#R##N# at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)#R##N# at System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult()#R## N# 在 Microsoft.OnlinePublishing.Ingestion.Common.Cache.CloudTableManager.d__6 1.MoveNext()ThrowForNonSuccess(Task task)#R##N# at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)#R##N# at System.Runtime.CompilerServices.ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult()#R## N# 在 Microsoft.OnlinePublishing.Ingestion.Common.Cache.CloudTableManager.d__6 1.MoveNext()

4

1 回答 1

0

此异常表明在定义 TableEntity 类型的程序集和在其上运行的程序集之间存在引用程序集“Microsoft.WindowsAzure.Storage.dll”的版本不匹配。

定义 TableEntity 类型的程序集引用了哪个版本的“Microsoft.WindowsAzure.Storage.dll”?

于 2015-10-26T20:26:40.430 回答