Docs 菜单
Docs 主页
/ / /
C#/.NET

升级驱动程序版本

在此页面上

  • 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 下列出的任何更改。

  • 所有 .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>
  • 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);
  • 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);
  • 此 MongoDB .NET/C# 驱动程序版本删除了对 .NET Framework v4.5.2 或更早版本的支持;支持的最低 .NET Framework 是 v4.7.2。

  • 此版本的 MongoDB .NET/C# 驱动程序不支持 .NET 标准 v1.5;支持的最低 .NET 标准为 v2.0。

  • 删除了 slave0k 连接字符串选项;现在使用的是 readPreference 选项。

服务器版本兼容性更改是对 MongoDB .NET/C# 驱动程序的修改,不再支持一组 MongoDB 服务器版本。

该驱动程序在 MongoDB Server 版本的生命周期结束 (EOL) 后将停止支持。

要了解有关 MongoDB 对 EOL 产品的支持的更多信息,请参阅传统支持策略。

如要进一步了解 .NET/C# 驱动程序版本与 MongoDB Server 版本之间的兼容性,请访问兼容性页面。

v2.14 驱动程序不再支持 MongoDB Server v3.4 及更早版本。要使用 v2.14 及更高版本中的任何驱动程序,MongoDB Server 必须是 v3.6 或更高版本。

如要了解如何升级 MongoDB Server 部署,请参阅 MongoDB Server 手册中的发行说明

后退

兼容性