Overview
Esta página describe los cambios que podría necesitar realizar en su aplicación cuando actualice el controlador .NET/C# a la versión 2.x.
Cómo actualizar
Cada sección de esta página enumera los posibles cambios importantes introducidos por cada versión del controlador. Para actualizar el controlador .NET/C# a la versión 2.x, siga estos pasos:
Revisar el Página de compatibilidad para garantizar que la nueva versión del controlador sea compatible con las versiones de MongoDB Server a las que se conecta su aplicación y la versión de .NET o .NET Framework en la que se ejecuta su aplicación.
Aborde cualquier cambio importante entre la versión del controlador que utiliza su aplicación y la versión de actualización de destino en la sección Cambios importantes por versión.
Ejemplo
Si está actualizando el controlador de v2.14 a v2.21, aborde todos los cambios importantes de la versión posterior a v2.14 (v2.19), incluidos los cambios para v2.21.
Cambios importantes por versión
Las siguientes secciones describen los posibles cambios importantes que introduce cada versión del controlador. Si una versión del controlador no se incluye en esta sección, no introduce ningún cambio importante.
Versión 2.28.0 Cambio importante
El controlador utiliza nombres seguros para todos sus componentes. Si 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>
Cambios importantes en la versión 2.21.0
El conductor cambia la firma de
RenderMétodos en los constructores de búsqueda de MongoDB. En versiones anteriores del controlador, estos métodos tenían la siguiente firma:Render(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry); En la versión 2.21.0 y posteriores, los métodos
Rendertienen la siguiente firma:Render(SearchDefinitionRenderContext<TDocument> renderContext);
Cambios importantes en la versión 2.19.0
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, visite el sitio web Preguntas frecuentes. Para obtener más información sobre,DefaultAllowedTypesvisita la documentación de la API.El valor predeterminado
LinqProviderse ha cambiado a LINQ3. El valorLinqProviderse puede configurar 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); Si su aplicación usa el3 proveedor LINQ, no podrá usar
-1para representar el operador posicional al actualizar un array. Para aprender a usar el operador posicional, consulte Actualizar uno y Actualizar muchos.
Cambios importantes en la versión 2.14.0
El controlador ya no es compatible con MongoDB Server v3.4 y versiones anteriores. Debe actualizar su MongoDB Server a v3.6 o posterior.
Para saber cómo actualizar su implementación de MongoDB Server, consulte las Notas de la versión en el manual de MongoDB Server. Para obtener más información sobre la compatibilidad entre el controlador .NET/C# y MongoDB Server, consulte la página de Compatibilidad.
El controlador ya no es compatible con .NET Framework v4.5.2 y versiones anteriores. Su aplicación debe usar .NET Framework v4.7.2 o posterior, .NET Core 2.x o posterior, o .NET 5 o posterior.
Para obtener más información sobre la compatibilidad entre el controlador .NET/C# y .NET, consulte la página Compatibilidad.
El controlador ya no es compatible con .NET Standard v1.5. Su aplicación debe usar .NET Standard v2.0 o posterior.