Тип ConsistencyLevel существует как в Microsoft.Azure.Cosmos.Client, так и в Microsoft.Azure.Cosmos.Table. - PullRequest
0 голосов
/ 18 октября 2019

У меня есть консольное приложение, которое использует библиотеку Microsoft.Azure.DocumentDB.Core и библиотеку Microsoft.Azure.Cosmos.Table. В пространстве имен Microsoft.Azure.Cosmos есть перечисление с именем ConsistencyLevel, которое выдает ошибки о неоднозначной ссылке.

Я не знаю, есть ли хорошее решение для этого, так как сейчас CosmosClient для Core SQL должен установить это.

Планирует ли Microsoft исправить эту проблему, поскольку она ограничивает разработчика от использования обеих библиотек в одном проекте? С точки зрения кода, у меня есть метод, пытающийся создать нового клиента в DocumentDb SDK.

public void Initialize(int maxConnections)
{
    this.client = new CosmosClient(this.config.Uri, this.config.AuthKey,
                                    new CosmosClientOptions()
                                    {
                                        MaxRetryAttemptsOnRateLimitedRequests = 9,
                                        MaxRetryWaitTimeOnRateLimitedRequests = TimeSpan.FromSeconds(15),
                                        ApplicationRegion = Regions.EastUS2,
                                        ConnectionMode = ConnectionMode.Direct,
                                        ConsistencyLevel = ConsistencyLevel.Eventual
                                    });
    this.container = this.client.GetContainer(this.config.DatabaseName, this.config.ContainerName);
}

Ошибка:

Severity    Code    Description Project File    Line    Suppression State
Error   CS0433  The type 'ConsistencyLevel' exists in both 'Microsoft.Azure.Cosmos.Client, Version=3.3.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'Microsoft.Azure.Cosmos.Table, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' DataLoader  C:\Source\Repos\poc\DataLoader\CosmosSdkv3Context.cs    69  Active
...