Ho creato una semplice applicazione C# in Visual Studio e provo a eseguirla dal mio computer locale. Ho studio visivo 2013. Tuttavia, quando provo a eseguire il programma, ottengo l'eccezione: Impossibile caricare il file o l'assembly 'Microsoft.Data.OData, Versione = 5.6.0.0, Cultura = neutroImpossibile caricare l'assembly 'Microsoft.Data.OData' durante l'accesso a Archiviazione di Azure durante lo sviluppo
Ho anche provato la soluzione menzionata qui: Could not load file or assembly Microsoft.Data.OData Version=5.2.0.0 error in Azure Cloud Worker Role using Table Storage
che è quello di aggiungere quanto segue al mio file di configurazione:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.5.0.0" newVersion="5.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.5.0.0" newVersion="5.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Ma ancora non ha funzionato. Non so se dovrei cambiare qualcosa alle versioni di quel testo.
La linea che genera l'eccezione è:
CloudTableClient client = storageAccount.CreateCloudTableClient();
ho scaricato anche il pacchetto: http://www.nuget.org/packages/Microsoft.Data.Services.Client/ come detto Missing Microsoft.Data.Services.Client version 5.6 on Azure Websites. Tuttavia il programma di installazione mi ha informato che ho già la versione 5.6.1.0 del file e non succede nulla.
Microsoft.WindowsAzure.Storage.StorageException was unhandled HResult=-2146233088 Message=Could not load file or assembly 'Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Source=Microsoft.WindowsAzure.Storage StackTrace:
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)
at Microsoft.WindowsAzure.Storage.Table.TableOperation.Execute(CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext)
at Microsoft.WindowsAzure.Storage.Table.CloudTable.Execute(TableOperation operation, TableRequestOptions requestOptions, OperationContext operationContext)
at UserConsoleProject2.Program.connectionAzureStorage() in c:\Users\user\Documents\Visual Studio 2013\Projects\UserConsoleProject2\UserConsoleProject2\Program.cs:line 42
at UserConsoleProject2.Program.Main(String[] args) in c:\Users\user\Documents\Visual Studio 2013\Projects\UserConsoleProject2\UserConsoleProject2\Program.cs:line 419 InnerException: System.IO.FileLoadException
HResult=-2146234304
Message=Could not load file or assembly 'Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Source=Microsoft.WindowsAzure.Storage
FileName=Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
FusionLog==== Pre-bind state information === LOG: DisplayName = Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (Fully-specified) LOG: Appbase = file:///C:/Users/user/Documents/Visual Studio 2013/Projects/UserConsoleProject2/UserConsoleProject2/bin/Debug/ LOG: Initial PrivatePath = NULL Calling assembly : Microsoft.WindowsAzure.Storage, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
=== LOG: This bind starts in default load context. LOG: Using application configuration file: C:\Users\user\Documents\Visual Studio 2013\Projects\UserConsoleProject2\UserConsoleProject2\bin\Debug\UserConsoleProject2.exe.Config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Post-policy reference: Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 LOG: Attempting download of new URL file:///C:/Users/user/Documents/Visual Studio 2013/Projects/UserConsoleProject2/UserConsoleProject2/bin/Debug/Microsoft.Data.OData.DLL. WRN: Comparing the assembly name resulted in the mismatch: Build Number ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
StackTrace:
at Microsoft.WindowsAzure.Storage.Table.Protocol.TableOperationHttpWebRequestFactory.BuildRequestForTableOperation(Uri uri, UriQueryBuilder builder, IBufferManager bufferManager, Nullable`1 timeout, TableOperation operation, Boolean useVersionHeader, OperationContext ctx, TablePayloadFormat payloadFormat, String accountName)
at Microsoft.WindowsAzure.Storage.Table.TableOperation.<>c__DisplayClass18.<RetrieveImpl>b__15(Uri uri, UriQueryBuilder builder, Nullable`1 timeout, Boolean useVersionHeader, OperationContext ctx)
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ProcessStartOfRequest[T](ExecutionState`1 executionState, String startLogMessage)
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)
InnerException:
Come posso eseguire il mio programma?
Dove si sta tentando di eseguire il programma - sul computer locale durante lo sviluppo/test o effettivamente su Azure? Funziona in uno e non nell'altro? – JimMSDN
Invia il codice associato dove viene lanciata l'eccezione. – JimMSDN
Qual è il framework di destinazione nelle proprietà dell'applicazione? Non dovrebbe essere uno che termina con il profilo del cliente. –