Overview
En esta sección, puede identificar los cambios esenciales que debe realizar en su aplicación cuando actualice su controlador a una nueva versión.
Antes de actualizar, realiza las siguientes acciones:
Asegúrate de que la nueva versión sea compatible con las versiones del MongoDB Server a las que se conecta tu aplicación y con la versión de .NET framework en la que se ejecuta tu aplicación. Vea la .NET/C# Driver Compatibility página para esta información.
Abordar cualquier cambio disruptivo entre la versión actual del driver que utiliza su aplicación y la versión de actualización planificada en la sección Cambios disruptivos. Para aprender más sobre los cambios de compatibilidad con la liberación del MongoDB Server, consulta la sección Cambios de compatibilidad con la liberación del servidor.
Tip
Para minimizar el número de cambios que su aplicación pueda requerir al actualizar las versiones de los drivers en el futuro, utilice el Stable API.
Cambios radicales
Un cambio disruptivo es una modificación de una convención o comportamiento que se inicia en una versión específica del controlador. Este tipo de cambio puede impedir el correcto funcionamiento de la aplicación si no se soluciona antes de actualizar el controlador.
Los cambios disruptivos en esta sección se categorizan por la versión del driver que los introdujo. Al actualizar versiones del driver, resuelve todos los cambios disruptivos entre la versión actual y las versiones actualizadas. Por ejemplo, si estás actualizando el driver de v2.0 a v2.20, aborda todos los cambios disruptivos desde la versión posterior a v2.0 incluyendo los enumerados bajo v2.20.
Versión 2.28.0 Cambio potencialmente importante
Todos los componentes del controlador .NET/C# tienen nombres seguros. Si utiliza la versión 2.28 o posterior del controlador y su aplicación tiene dependencias que hacen referencia a varias versiones del controlador .NET/C#, debe crear redirecciones de enlace, como se muestra en el siguiente ejemplo:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="MongoDB.Driver" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="MongoDB.Bson" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="MongoDB.Driver.Core" publicKeyToken="94992a530f44e321" culture="neutral" /> <bindingRedirect oldVersion="2.28.0.0" newVersion="<version number to use>" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
Versión 2.21.0 cambio disruptivo
La firma de función de
Renderlos métodos en los desarrolladores de búsqueda de MongoDB cambiaron. El siguiente snippet de código muestra la firma de la función antes y después del cambio:// Render function signature prior to v2.21.0 Render(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry); // Render function signature in v2.21.0 and later Render(SearchDefinitionRenderContext<TDocument> renderContext);
Versión 2.19.0 cambio disruptivo
El
ObjectSerializersolo permite la deserialización de tipos considerados seguros. Si no se especifica lo contrario, elObjectSerializerutiliza los tipos devueltos por elObjectSerializer.DefaultAllowedTypes.Para obtener más información sobre
ObjectSerializer, visita las Preguntas frecuentes. Para obtener más información sobreDefaultAllowedTypes, visita la Documentación de la API.El
LinqProviderpor defecto se ha cambiado a LINQ3. ElLinqProviderpuede configurarse para LINQ2 enMongoClientSettings, como se muestra en el siguiente ejemplo de código:var connectionString = "<connection string>"; var clientSettings = MongoClientSettings .FromConnectionString(connectionString); clientSettings.LinqProvider = LinqProvider.V2; var client = new MongoClient(clientSettings);
Versión 2.14.0 Cambios importantes
Esta versión de MongoDB .NET/C# Driver eliminó el soporte para la .NET framework v4.5.2 o anterior; el mínimo .NET framework compatible es v4.7.2.
Esta versión del Driver MongoDB .NET/C# no es compatible con .NET Standard v1.5; la versión mínima compatible de .NET Standard es v2.0.
Versión 2.13.0 cambio disruptivo
La opción de cadena de conexión
slave0kse eliminó; ahora se utiliza la opciónreadPreference.
Cambios en la compatibilidad de la versión del servidor
Un cambio en la compatibilidad de la versión de lanzamiento del servidor es una modificación del driver MongoDB .NET/C# que descontinúa el soporte para un conjunto de versiones del servidor MongoDB.
El driver interrumpe el soporte para una versión de MongoDB Server después de que esta llegue a su final de vida útil (EOL).
Para obtener más información sobre el soporte de MongoDB para productos EOL, consulte la Política de soporte heredado.
Para aprender más sobre la compatibilidad entre las versiones del driver .NET/C# y las versiones de MongoDB Server, visita la página de Compatibilidad.
Versión del servidor 8.1 Cambios de soporte
No se puede usar la versión v2.14.1 ni versiones anteriores del controlador .NET/C# para conectarse a una implementación que ejecute MongoDB Server v8.1. A partir de MongoDB Server v8.1, el comando buildinfo requiere autenticación, lo que provoca una incompatibilidad con estas versiones del controlador.
Versión 2.14 Cambios en el soporte de liberación
El controlador v2.14 deja de ser compatible con MongoDB Server v3.4 y versiones anteriores. Para usar cualquier controlador de la versión v2.14 y posteriores, su MongoDB Server debe ser v3.6 o posterior.
Para aprender a actualizar tu implementación de MongoDB Server, consulta notas de versión en el manual de MongoDB Server.