Nie można załadować pliku lub złożenia Microsoft.Data.OData Version = 5.2.0.0 błąd w roli Azure Cloud Worker Role przy użyciu Storage Table

Mam bardzo dziwny problem z użyciem Magazynu tabel Azure. Mam projekt .NET 4.5 w Visual Studio 2012, gdzie zajmuję się wszystkimi funkcjami mojej pamięci Azure Table Storage. Do tego projektu / dll odwołują się dwa inne projekty, moja strona MVC i moja rola Azure Worker. (Używam emulatorów Azure na moim komputerze, ale dzieje się tak również, gdy wdrażam je w chmurze)

Mam następującą funkcję, która jest wywoływana, gdy zapisuję lub odzyskuję rekord:

internal static CloudTable GetTable(CloudStorageAccount storageAccount, string tableReference)
{
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

    CloudTable table = tableClient.GetTableReference(tableReference);
    table.CreateIfNotExists();

    return tableClient.GetTableReference(table.Name);
}

W mojej witrynie MVC mam funkcję, która zapisze rekord w tabeli Azure Storage, a następnie w mojej roli Azure Worker Role istnieje usługa, która odczyta rekord.

Tak więc oba używają tego samego biblioteki DLL do przechowywania i pobierania, jednak mój projekt MVC nie ma problemów z zapisaniem rekordu, ale w mojej usłudze roli Azure Worker, gdy próbuje pobrać rekord, zgłasza wyjątek, gdy próbuje wykonać „table.CreateIfNotExists () ; ”

Nie można załadować pliku lub złożenia „Microsoft.Data.OData, Version = 5.2.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35” lub jedna z jego zależności. Definicja manifestu zlokalizowanego zespołu nie pasuje do odwołania do zespołu. (Wyjątek od HRESULT: 0x80131040)

Zrobiłem już:

Zaktualizowano wszystkie pakiety NuGet z poziomu rozwiązania do najnowszych wersjiPrzeszedłem przez każde odniesienie do projektu, aby upewnić się, że nie ma żadnych starych wersji dll ani poprzednich wersji, w szczególności System.Spatial, Microsoft.WindowsAzure.Configuration, Microsoft.WindowsAzure.ServiceRuntime i Microsoft.ServiceBus, Microsoft.WindowsAzure.Storage, Microsoft.Data.Edm i Microsoft.Data.ODataOd początku stworzyłem nawet nowy projekt Usługi w chmurze i WorkerRole, aby upewnić się, że nie jest to coś w bieżącym projekcie WorkerRole, który jest zepsuty.

Nie przywróciłem dll z powrotem do wersji 5.2, ponieważ miałem zbyt wiele problemów w innych projektach, w których używam funkcji specyficznych od wersji 5.3.

Obecnie uruchomiłem wszystkie biblioteki dll na 5.5.

Po uruchomieniu narzędzia AsmSpy.exetutaj, Otrzymuję następujące dane wyjściowe, których nie jestem w 100% pewien, jak to interpretować.

> Reference: Microsoft.Data.Edm
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client
>         5.5.0.0 by Microsoft.WindowsAzure.ActiveDirectory.GraphHelper.2013_04_05
> Reference: System.Spatial
>         5.5.0.0 by Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client Reference: Microsoft.Data.OData
>         5.5.0.0 by Microsoft.Data.Services.Client
>         5.2.0.0 by Microsoft.WindowsAzure.Storage   <-- THIS SEEMS TO BE THE ONE THAT IS CAUSING ISSUES

Jak to interpretuję, jest to, że dll Microsoft.WindowsAzure.Storage odwołuje się do V 5.2.0.0 biblioteki DLL Microsoft.Data.OData, ale jak to naprawić, jeśli jest to problem? Zgodnie z dokumentacją, którą widziałem w Storage dll, ma ona odnosić się do 5.4 i wyżej, a nie do 5.2 ...?

questionAnswers(5)

yourAnswerToTheQuestion