Overview
在此部分中,您可以确定必须对应用程序进行哪些重要更改,才能将驱动程序升级到新版本。
升级前,请执行以下操作:
- Ensure the new version is compatible with the MongoDB Server versions your application connects to and the .NET framework version your application runs on. See the .NET/C# Driver Compatibility page for this information. 
- 在破坏性变更 (breaking change) 部分解决应用程序使用的驱动程序的当前版本与计划升级版本之间发生的任何破坏性变更 (breaking change)。要了解有关 MongoDB 服务器版本兼容性变更的更多信息,请参阅服务器版本兼容性变更部分。 
提示
为了最大限度地减少应用程序将来升级驾驶员版本时可能需要的更改次数,请使用 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破坏性变更
- MongoDB 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版本之间的兼容性,请访问兼容性页面。
服务器版本8.1 支持变更
您无法使用 v2.14.1 或更早版本的.NET/ C#驱动程序连接到运行MongoDB Server v8.1 的部署。从MongoDB Server v8.1 开始,buildinfo 命令需要身份验证,从而导致与这些驾驶员程序版本不兼容。
版本 2.14 版本支持变更
v2.14 驱动程序不再支持 MongoDB Server v3.4 及更早版本。要使用 v2.14 及更高版本中的任何驱动程序,MongoDB Server 必须是 v3.6 或更高版本。
如要了解如何升级 MongoDB Server 部署,请参阅 MongoDB Server 手册中的发行说明。