【发布时间】:2015-10-23 13:54:48
【问题描述】:
我正在使用 Microsoft.WindowsAzure.Storage.dll 版本 6.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# 在 Microsoft.WindowsAzure.Storage.Table.ITableEntity.get_PartitionKey()#R##N# 在 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 回调、Object 状态)#R##N# 在 Microsoft.WindowsAzure.Storage.Table.CloudTable.BeginExecute(TableOperation 操作,TableRequestOptions requestOptions,OperationContext operationContext,AsyncCallback 回调,对象状态)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.BeginExecute(TableOperation 操作,AsyncCallback 回调,对象状态)#R##N# at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.TaskFromApm[T1,TResult](Func 4 beginMethod,Func 2 endMethod,T1 arg1,CancellationToken 取消令牌)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteAsync(TableOperation 操作,CancellationToken cancelToken)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteAsync(TableOperation 操作)#R##N# 在 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# 在 Microsoft.OnlinePublishing.Ingestion.Common.Cache.CloudTableManager.d__6 1.MoveNext()
【问题讨论】:
-
这是一个 DLL Hell 问题。如果您无法对部署在这些机器上的内容做任何事情,那么除非您使用该机器上完全相同版本的 DLL 进行定位和测试,否则它不会变得更好。有人可以告诉你它们是什么,而不是我们。
-
是的,我知道 :) 在这里发布此问题的目的是了解哪个 DLL 可能导致此问题。如您所见,堆栈跟踪。我使用 ILSpy 检查代码,但没有发现任何东西。可能是来自 Windows Azure Stroage 的人可以发表评论,或者是更熟悉或面临这种情况的人。我不知道为什么有人要关闭这个
-
我会问他们目标机器上的 Windows.Azure.Storage 是什么版本。或者,您是否在部署的文件中包含该 dll?
标签: azure-storage azure-table-storage entrypointnotfoundexcept