TableOperation существует в двух библиотеках DLL

Я разрабатываю приложение для Windows Azure и только что начал использовать хранилище таблиц Azure, используя версию 2.1.0.4 (новейшая версия еще не поддерживается симулятором хранилища) API хранилища. Когда я сейчас пытаюсь выполнить TableOperation вроде:

cloudTable.Execute(TableOperation.Insert(entity));

У меня следующее исключение:

Тип Microsoft.WindowsAzure.Storage.Table.TableOperation существует как в Microsoft.WindowsAzure.Storage.dll, так и в Microsoft.WindowsAzure.Diagnostics.StorageUtility.dll.

Как я могу заставить это работать?
Я использую несовместимую версию диагностики (из Azure SDK 2.2)?


person Christoph Fink    schedule 01.02.2014    source источник
comment
Один быстрый комментарий относительно the newest version is not supported by the storage simualtor yet - Если вы загрузите эмулятор хранилища версии 2.2.1, он будет поддерживать библиотеку хранилища 3.x. Подробнее здесь: blogs.msdn.com/b/windowsazurestorage/archive/2014/01/27/. Несмотря на то, что это предварительная версия, я использую ее с момента ее выпуска, и у меня не возникло никаких проблем.   -  person Gaurav Mantri    schedule 02.02.2014
comment
Спасибо за подсказку, но с моей проблемой это не помогло ...   -  person Christoph Fink    schedule 02.02.2014


Ответы (2)


Заявление об отказе от ответственности, я работаю в Microsoft в команде, которая поставляет библиотеки Storage SDK.

Библиотека диагностики использует специальный подпакет, чтобы избежать конфликтов версий с зависимостью sdk хранилища, выбранной пользователем. Для этого они, по сути, вставляют библиотеку хранилища и ее зависимости (odatalib) в эту служебную dll. Однако эти типы помечены как внутренние, поэтому вы не должны видеть эту ошибку компилятора, поскольку внутренние типы должны быть скрыты от вас. Я попытался воспроизвести это, создав новый облачный проект с помощью SDK 2.2 и добавив ссылку на StorageUtility.dll, о которой вы упомянули, и не получил аналогичной ошибки компилятора при использовании типов хранилищ. Можете ли вы предоставить дополнительную информацию о вашем воспроизведении, настройке проекта и т. Д.

Спасибо

person Joe Giardino    schedule 03.02.2014
comment
Спасибо за ваш отзыв - я предоставлю демонстрационный проект, как только вернусь домой, так как он у меня есть, но я НЕ получаю ошибку компилятора. Я получаю это как ошибку времени выполнения, когда открываю страницу. - person Christoph Fink; 05.02.2014
comment
Теперь я попробовал еще раз несколько раз, и ошибка исчезла - не знаю почему, я ничего не менял в этом проекте, так как это был всего лишь тест ... - person Christoph Fink; 09.02.2014

В качестве обходного пути я использовал функцию внешнего псевдонима:
Возникли проблемы, когда две сборки, на которые есть ссылка, определяют тип A.A1

Но все же хотелось бы "красивого решения" ...

person Christoph Fink    schedule 02.02.2014