0

我正在使用Microsoft.WindowsAzure.Storage.dll版本6.0.0來處理Azure表存儲。在表中添加新條目時,我收到以下錯誤。的代碼Microsoft.Windows.Azurestorage.dll版本6.0.0中的Sysytem.EntryPointNotFoundException

線投擲錯誤:

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" /> 

任何幫助或指針都會有幫助。

注意:代碼在我的本地機器上運行時執行得很好,但是在我們不擁有的其他環境中運行時會拋出異常。 (不同的套機託管在其他地方,還我們沒有訪問這些機器)

錯誤:

Error: System.EntryPointNotFoundException: Entry point was not found.#R##N# at Microsoft.WindowsAzure.Storage.Table.ITableEntity.get_PartitionKey()#R##N# at Microsoft.WindowsAzure.Storage.Table.TableOperation.GenerateCMDForOperation(CloudTableClient client, CloudTable table, TableRequestOptions modifiedOptions)#R##N#
at Microsoft.WindowsAzure.Storage.Table.TableOperation.BeginExecute(CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext, AsyncCallback callback, Object state)#R##N# at 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 cancellationToken)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteAsync(TableOperation operation, CancellationToken cancellationToken)#R##N# at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteAsync(TableOperation operation)#R##N# at Microsoft.OnlinePublishing.Retry.TaskRetryer 2.DoAction()#R##N#--- End of stack trace from previous location where exception was thrown ---#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()

+0

這是一個DLL地獄問題。如果你對這些機器上部署的內容無能爲力,那麼直到你使用該機器上完全相同版本的DLL進行目標和測試之後,它纔會變得更好。有人可以告訴你他們是什麼,而不是我們。 –

+0

是的,我知道這裏發佈這個問題的目的是要知道哪個DLL可能會導致此問題。正如你所看到的堆棧跟蹤。我使用ILSpy檢查代碼,但沒有發現任何內容。可能來自Windows Azure的人士Stroage可以發表評論,或者有人更熟悉或面臨這種情況。我不知道爲什麼有人想關閉這個 – Jash

+0

我會問他們什麼版本的Windows.Azure.Storage是在目標機器上。或者,你是否包含你的部署文件的DLL? –

回答

0

此異常指示有參考組件的版本不匹配「微軟.WindowsAzure.Storage.dll「在定義您的TableEntity類型的程序集和正在其上運行的程序集之間。

哪個版本的「Microsoft.WindowsAzure.Storage.dll」被您的TableEntity類型定義的程序集引用?

+0

定義TableEntity的程序集引用的是帶目標框架的版本「6.0.0」4.5.1 – Jash

+0

我最初錯過了Robin的問題,能否檢查目標機器上Windows.Azure.Storage程序集的版本以及是否包含與您部署的文件?另外,是否有多個程序集在它們之間傳遞TableEntity對象,並且是否爲這些程序集配置了任何綁定重定向? –

相關問題