Il mio servizio in hosting utilizza Azure Storage 2.0 (esattamente 2.0.5.1 da Nuget). In Visual Studio 2010 non ho avuto problemi. Sono passato a Visual Studio 2012 e ora in qualche sito web del mio ruolo web principale ottengo la seguente eccezione di tipo Microsoft.WindowsAzure.Storage.StorageException
:Errore nel caricamento di Azure Storage 2.0 - impossibile caricare Microsoft.Data.OData 5.0.2
Could not load file or assembly 'Microsoft.Data.OData, Version=5.0.2.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)
mentre Azure 2.0.5.1 richiede Microsoft.Data.OData
5.2.0.0. Gli altri ruoli dei lavoratori funzionano bene e sembrano trovare l'assembly corretto. In ogni progetto Azure Storage 2.0 è installato da Nuget e tutti i riferimenti rimandano alla cartella packages
.
Io uso Azure SDK 1.8 in .NET 4.0 - ciò significa che utilizzo anche Azure Storage Client 1.7.
È anche possibile utilizzare un reindirizzamento di binding che sembra essere quello che la libreria tenta di fare comunque. –
@PhilCooper osservazione giusta. Normalmente preferirei rintracciare la causa del problema di caricamento dell'assieme, poiché può nascondere alcuni problemi "fondamentali" (ad esempio, in questo caso, gli assembly caricati dal percorso sbagliato) e solo come ultima risorsa (quando non riesco a trovare il causa del problema) utilizzare un reindirizzamento dell'assembly. – edymtt