azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (2024)

Describe el error
Tengo un proyecto que hace referencia tanto a Microsoft.Azure.Cosmos 3.0.0.9-preview como a StreamStone 2.3.0, que a su vez tiene una referencia a Microsoft.Azure.Cosmos.Table 1.0.0.0.

Un error que encontré es el siguiente The type 'IndexingMode' exists in both 'Microsoft.Azure.Cosmos.Direct, Version=3.0.0.9, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'Microsoft.Azure.Cosmos.Table, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' (CS0433) [deleteme]

Esto también plantea la pregunta: ¿cuál es la dirección de CosmosDb .NET SDK en el futuro? ¿Se consolidará en Microsoft.Azure.Cosmos o se dividirá en varias partes? (core / direct ?, document / sql, mongo api, cassandra api, table api, gremlin api)?

Reproducir

  1. dotnet nueva xunit
  2. dotnet agregar paquete Microsoft.Azure.Cosmos -v 3.0.0.9-preview
  3. dotnet agregar paquete StreamStone -v 2.3.0
  4. use el código a continuación
using System;using Xunit;using Microsoft.Azure.Cosmos;namespace deleteme{ public class UnitTest1 { [Fact] public void Test1() { var x = new IndexingPolicy { IncludedPaths = { new IncludedPath{Path=""}}, IndexingMode = Microsoft.Azure.Cosmos.IndexingMode.Lazy // uh, oh }; } }}

Resumen del entorno
Versión del SDK: 2.2.505
MacOS Mojave

bug needs-investigation

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (1) Miggleness

Todos 17 comentarios

Hola @Miggleness , gracias por informar de este problema. El conflicto de espacio de nombres en IndexingMode es un problema conocido mientras depende de Microsoft.Azure.Cosmos y Microsoft.Azure.Cosmos.Table. Lo arreglaremos en el futuro Table sdk. Al mismo tiempo, puede usar un alias de ensamblado para desbloquearlo. Aquí está el enlace: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/extern-alias

Gracias,

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (2) donghexu en 15 may. 2019

1

Gracias. De hecho, esa es mi solución para solucionar el conflicto de inmediato.

Entonces, parece que seguirá habiendo proyectos / paquetes separados para cada modelo de base de datos. Tal vez se pueda mejorar un poco el nombre. Microsoft.Azure.Cosmos suena como la biblioteca principal de la que todo lo demás depende cuando no lo es.

Hola @Miggleness ,

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (4) donghexu en 21 may. 2019

Agregar este enlace para ayudar a cualquier otra persona con este mismo problema, ya que Nuget no admite alias externos https://github.com/NuGet/Home/issues/4989

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (5) dlmelendez en 24 jul. 2019

@donghexu Hola, no estoy seguro de por qué este problema está cerrado teniendo en cuenta que el SDK ahora es GA y este problema sigue ahí. Hace que sea prácticamente imposible utilizar Cosmos SDK junto con Table Storage SDK en el mismo proyecto.

¿Podría reabrirse y arreglarse, por favor?

Gracias

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (6) FrankGagnon en 25 jul. 2019

👍1

@shanselman , @donghexu Este error está causando una verdadera fricción para cambiar a esta versión de los SDK. Compartir espacios de nombres / objetos idénticos en varios paquetes parece ser un descuido importante. En este estado actual, lamento implementar las últimas versiones de las bibliotecas de Cosmos (esta y Cosmos.Table) ya que uso tanto CosmosSQL como Azure Table Storage en las mismas bibliotecas de acceso a datos. No recomendaría esta biblioteca en su estado actual a clientes u otros socios.

Se podría argumentar que existe una solución para usar el alias externo. Claro, pero Nuget tampoco admite el alias externo y hay otra solución alternativa para implementar ese NuGet / Home # 4989 .

Me parece increíble que la solución alternativa que sugiera para las bibliotecas que se acaban de convertir en GA introduzca la deuda técnica de inmediato en cualquier trabajo nuevo que utilice estos SDK. ¿Podemos reabrir y arreglar esto?

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (7) dlmelendez en 31 jul. 2019

Hola @dlmelendez , @FrankGagnon. Realmente comprendo tu confusión con este problema. La versión GA de Table SDK depende de DocumentDB sdk, que no tiene el mismo espacio de nombres para IndexingMode. Estamos desarrollando una nueva versión que depende de CosmosClient, lo que eliminará el problema aquí. Está viniendo.

El alias de ensamblado también es la solución.

Gracias,

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (8) donghexu en 31 jul. 2019

Hola a todos,

Acabamos de lanzar Table SDK 2.0.0-preview: https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table/2.0.0-preview. Toma la dependencia de CosmosClient y resuelve el problema de nombres. Por favor, míralo.

¡Gracias!

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (9) donghexu en 27 ago. 2019

👍1

@donghexu ¿Hay alguna actualización planeada para esa biblioteca para sacarla de Vista previa?

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (10) kieronlanning en 9 abr. 2020

@PaulCheng

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (11) donghexu en 9 abr. 2020

👍1

@kieronlanning Tenemos un plan para la próxima versión principal de Table SDK, que es desaprobar la dependencia del cosmosdb sdk subyacente al admitir solo el modo REST. Aún no tenemos fecha confirmada, ya que eso requiere un cambio en el lado del servidor para usar una fila binaria híbrida.

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (12) PaulCheng en 10 abr. 2020

@PaulCheng ¿

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (13) kieronlanning en 11 abr. 2020

No es necesario actualizar la cuenta de almacenamiento existente o la cuenta de la tabla de cosmosdb. El emulador seguirá funcionando también.

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (14) PaulCheng en 13 abr. 2020

👍1

@PaulCheng @donghexu - ¿Cuándo saldrá de la vista previa? Ha pasado un año desde que está en vista previa y, sin embargo, las otras versiones se han actualizado.

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (15) blueelvis en 18 ago. 2020

@blueelvis Aparentemente, hay una compilación de un paquete _nuevo_ (Azure.Data.Tables?) que se lanzará en septiembre y que reemplazará este paquete para las API de tabla de almacenamiento y Cosmos.

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (16) kieronlanning en 19 ago. 2020

@kieronlanning - ¿Otro paquete? Primero teníamos un paquete, luego se separó, luego nuevamente se está combinando. :(

De todos modos, gracias por la actualización, estaré atento a la nueva versión. ¿Alguna fecha de lanzamiento programada?

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (17) blueelvis en 20 ago. 2020

@blueelvis Lo siento, aparentemente no

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (18) kieronlanning en 20 ago. 2020

¿Fue útil esta página

0 / 5 - 0 calificaciones

azure-cosmos-dotnet-v3 🚀 - Choque de espacio de nombres con Microsoft.Azure.Cosmos.Table | bleepcoder.com (2024)
Top Articles
Latest Posts
Article information

Author: Sen. Ignacio Ratke

Last Updated:

Views: 6126

Rating: 4.6 / 5 (56 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Sen. Ignacio Ratke

Birthday: 1999-05-27

Address: Apt. 171 8116 Bailey Via, Roberthaven, GA 58289

Phone: +2585395768220

Job: Lead Liaison

Hobby: Lockpicking, LARPing, Lego building, Lapidary, Macrame, Book restoration, Bodybuilding

Introduction: My name is Sen. Ignacio Ratke, I am a adventurous, zealous, outstanding, agreeable, precious, excited, gifted person who loves writing and wants to share my knowledge and understanding with you.