2

在我的项目中,我安装了Microsoft.Azure.Management.Fluent包(1.27 版)来为我的 azure 订阅进行资源管理。我的连接对象如下所示:

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

这工作得很好。今天,我用(12.4版)安装了Azure.Storage.Blobs包。Nuget安装此软件包后,出现错误:

> 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 项目中使用它。

4

1 回答 1

3

您应该使用完全限定的类名而不是Azure类来解决冲突,下面的代码是可以的:

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

原因是安装后Azure.Storage.BlobsAzure包含一个用于 blob 存储的命名空间。所以在代码中,当你输入 时Azure.Configure(),编译器会混淆,Azureisnamespace还是class? 理所当然地,它将被Azure视为一个命名空间(这里,Azure命名空间是用于存储blob的),但是Configure()方法不在这个命名空间中,那么它会抛出这样的错误。

于 2020-04-25T03:00:57.920 回答