升级驱动程序版本
Overview
在此部分中,您可以确定必须对应用程序进行哪些重要更改,才能将驱动程序升级到新版本。
升级前,请执行以下操作:
确保新版本与应用程序连接到的MongoDB Server版本以及应用程序运行所在的.NET框架版本兼容。 有关此信息,请参阅 .NET/ C#驱动程序兼容性页面。
在重大更改部分中,解决应用程序使用的驱动程序的当前版本与计划升级版本之间发生的任何重大更改。 要了解有关MongoDB Server版本兼容性更改的更多信息,请参阅MongoDB Server版本兼容性更改部分。
提示
为了最大限度地减少将来升级驱动程序版本时应用程序可能需要的更改次数,请使用 Stable API。
重大更改
破坏性变更 (breaking change) 是对从特定版本的驱动程序开始的约定或行为的修改。如果在升级驱动程序之前未解决,此类更改可能会导致应用程序无法正常工作。
本部分中的破坏性变更 (breaking change) 按引入它们的驱动程序版本进行分类。升级驱动程序版本时,请解决当前版本和升级版本之间的所有破坏性变更 (breaking change)。例如,如果您要将驱动程序从 v2.0 升级到 v2.20,请解决 v2.0 之后版本的所有破坏性变更 (breaking change),包括 v2.20 下列出的任何更改。
版本2.28.0 潜在的重大更改
所有 .NET/C# 驱动程序组件都有强命名。 如果您使用的是驱动程序版本2.28或更高版本,并且您的应用程序具有引用多个 .NET/C# 驱动程序版本的依赖项,则必须创建绑定重定向,如以下示例所示:
<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>
版本 2.21.0破坏性变更
Atlas Search 构建器中
Render
方法的函数签名已更改。以下代码片段显示了更改之前和更改之后的函数签名:// 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);
版本 2.19.0破坏性变更
ObjectSerializer
只允许对被视为安全的类型进行反序列化。如果没有另行指定,ObjectSerializer
将使用ObjectSerializer.DefaultAllowedTypes
返回的类型。要学习;了解有关
ObjectSerializer
的更多信息,请访问常见问题解答。DefaultAllowedTypes
有关 的更多信息,请访问API文档。默认的
LinqProvider
已更改为 LINQ3。可以在MongoClientSettings
中为 LINQ2 配置LinqProvider
,如下面的代码示例所示:var connectionString = "<connection string>"; var clientSettings = MongoClientSettings .FromConnectionString(connectionString); clientSettings.LinqProvider = LinqProvider.V2; var client = new MongoClient(clientSettings);
版本 2.14.0 破坏性变更 (breaking change)
此 MongoDB .NET/C# 驱动程序版本删除了对 .NET Framework v4.5.2 或更早版本的支持;支持的最低 .NET Framework 是 v4.7.2。
此版本的 MongoDB .NET/C# 驱动程序不支持 .NET 标准 v1.5;支持的最低 .NET 标准为 v2.0。
版本 2.13.0破坏性变更
删除了
slave0k
连接字符串选项;现在使用的是readPreference
选项。
服务器版本兼容性更改
服务器版本兼容性更改是对 MongoDB .NET/C# 驱动程序的修改,不再支持一组 MongoDB 服务器版本。
该驱动程序在 MongoDB Server 版本的生命周期结束 (EOL) 后将停止支持。
要了解有关 MongoDB 对 EOL 产品的支持的更多信息,请参阅传统支持策略。
如要进一步了解 .NET/C# 驱动程序版本与 MongoDB Server 版本之间的兼容性,请访问兼容性页面。
版本 2.14 版本支持变更
v2.14 驱动程序不再支持 MongoDB Server v3.4 及更早版本。要使用 v2.14 及更高版本中的任何驱动程序,MongoDB Server 必须是 v3.6 或更高版本。
如要了解如何升级 MongoDB Server 部署,请参阅 MongoDB Server 手册中的发行说明。