конфликт между пакетами Azure .Fluent.Management и Azure .Storage.Blobs? - PullRequest
0 голосов
/ 24 апреля 2020

В моем проекте я установил пакет Microsoft.Azure.Management.Fluent (версия 1.27) для управления ресурсами моей подписки azure. Мой объект подключения выглядит так:

AzureCredentials credentials = GenerateCredentials(); // custom method that returns my creds.
IAzure azureConn = Azure
   .Configure()
   .Authenticate(credentials)
   .WithDefaultSubscription();

Это работало нормально. Сегодня я установил пакет Azure.Storage.Blobs с Nuget (версия 12.4). После установки этого пакета я получил ошибку:

> CS0234 C# The type or namespace name 'Configure' does not exist in the
> namespace 'Azure' (are you missing an assembly reference?)

Когда я удаляю пакет Azure.Storage.Blobs, ошибка исчезает. Что здесь может происходить? Я использую его в Net Core 2.2 MVC проекте.

1 Ответ

1 голос
/ 25 апреля 2020

Вы должны использовать полное имя класса вместо Azure класса для решения конфликта, код ниже в порядке:

IAzure azureConn = Microsoft.Azure.Management.Fluent.Azure
                  .Configure()
                  .Authenticate(credentials)
                  .WithDefaultSubscription();

Причина в том, что после установки Azure.Storage.Blobs, есть пространство имен Azure включено для хранения больших двоичных объектов. Так что в коде, когда вы наберете Azure.Configure(), компилятор будет сбивать с толку, Azure равен namespace или class? Очевидно, он будет рассматривать Azure как пространство имен (здесь пространство имен Azure предназначено для хранения больших двоичных объектов), но метод Configure() не входит в это пространство имен, поэтому он выдаст такую ​​ошибку.

...