Не удается создать очередь/контейнер в эмуляторе хранилища Azure.

У меня есть очень простой консольный проект со следующим кодом:

        // NOTE: We piggyback on web jobs storage for now
        var connString = AmbientConnectionStringProvider.Instance
            .GetConnectionString(ConnectionStringNames.Storage);

        var storageAccount = CloudStorageAccount.Parse(connString);
        var queueClient = storageAccount.CreateCloudQueueClient();

        var queue = queueClient.GetQueueReference(InputQueueName);
        queue.CreateIfNotExists();

Когда я пытаюсь запустить его локально на эмуляторе хранилища Azure (я использую версию 4.3), я получаю сообщение 404 Not Found «Указанная очередь не существует». исключение, выброшенное из строки CreateIfNotExists. Если я вручную создаю очередь в Visual Studio Cloud Explorer (под учетной записью хранения (Разработка)), этот код работает. Когда я использую реальную учетную запись хранения в Azure, код работает.

То же самое происходит с контейнерами больших двоичных объектов.

Я удалил базу данных localdb и создал ее заново. Команда init выполняется без ошибок.

Любые идеи?

РЕДАКТИРОВАТЬ

Строка подключения, заканчивающаяся в переменной connString, имеет вид "UseDevelopmentStorage=true;".

РЕДАКТИРОВАТЬ2

Я использую версию 7.0.0 пакета NuGet WindowsAzure.Storage.


person Søren Boisen    schedule 20.05.2016    source источник
comment
Какая строка подключения передается в CloudStorageAccount.Parse()?   -  person Zhaoxing Lu    schedule 21.05.2016
comment
Какая версия клиентской библиотеки службы хранилища Azure используется? Она должна быть ниже или равна версии эмулятора хранилища Azure (v4.3, как вы упомянули).   -  person Zhaoxing Lu    schedule 24.05.2016
comment
@ZhaoxingLu-Microsoft Ага, тогда проблема может быть в этом. Я предположил, что с версией все в порядке, поскольку я не получил 400 Bad Request, как другие: заголовок stackoverflow.com/questions/32322029/.   -  person Søren Boisen    schedule 24.05.2016
comment
@ZhaoxingLu-Microsoft Итак, это надежное правило? Эта версия клиентской библиотеки должна быть ниже или равна эмулятору? Потому что такое правило было бы очень хорошо иметь и сделать его широко известным.   -  person Søren Boisen    schedule 24.05.2016
comment
На самом деле точное правило должно быть таким: версия REST API, используемая клиентской библиотекой хранилища, должна поддерживаться эмулятором хранилища. Для получения информации см. azure.microsoft.com/en-us/documentation/articles/ , github.com/Azure/azure-storage-net/blob/master/README.md .   -  person Zhaoxing Lu    schedule 25.05.2016
comment
К сожалению, это не основная причина вашего случая, поскольку клиентская библиотека хранилища 7.0 поддерживается эмулятором хранилища 4.3.   -  person Zhaoxing Lu    schedule 25.05.2016
comment
Вы запускаете Visual Studio от имени администратора? Часто такие ошибки возникают из-за того, что забывают об этом :)   -  person Pedro G. Dias    schedule 25.05.2016
comment
@PedroG.Dias Я определенно не запускаю VS в качестве администратора, какая это была бы дыра в безопасности! Однако я запустил эмулятор хранилища от имени администратора :)   -  person Søren Boisen    schedule 30.05.2016
comment
Ну, иногда приходится. Чтобы VS мог запускать от вашего имени вещи, использующие порты, вам нужно разрешить ему работать от имени администратора. На самом деле это не дыра в безопасности, если только ваш компьютер не настроен ужасно :)   -  person Pedro G. Dias    schedule 31.05.2016