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

升级到版本 2.x

在此页面上

  • Overview
  • 如何升级
  • 按版本划分的重大更改
  • 版本 2.28.0破坏性变更 (breaking change)
  • 版本 2.21.0破坏性变更
  • 版本 2.19.0破坏性变更
  • 版本 2.14.0 破坏性变更 (breaking change)

本页介绍将.NET/ C#驱动程序升级到版本 2 .x 时,可能需要对应用程序进行的更改。

本页的每个部分都列出了驾驶员版本引入的潜在重大更改。 要将.NET/ C#驱动程序升级到版本 2 .x,请按照以下步骤操作:

  1. 查看“兼容性”页面,确保新的驾驶员版本与应用程序连接到的MongoDB Server版本以及应用程序运行所在的.NET或.NET框架版本兼容。

  2. 按版本划分的重大更改 部分,解决应用程序使用的驾驶员版本与目标升级版本之间发生的任何重大更改。

    例子

    如果您要将驾驶员从 v 2.14 升级到 v 2.21,请解决v 2.14 之后版本的所有重大更改(v 2.19 ),包括 v 2.21 的任何更改。

以下部分描述了每个驾驶员版本引入的潜在重大更改。 如果本部分未包含驾驶员版本,则不会引入任何重大更改。

  • 驾驶员对所有驾驶员组件使用强命名。 如果应用程序具有引用多个.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(IBsonSerializer<TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry);

    在版本 2.21.0 及更高版本中,Render 方法具有以下签名:

    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 Server v 3.4 及更早版本。您必须将MongoDB Server升级到 3.6 或更高版本。

    要学习;了解如何升级MongoDBMongoDB Server Server部署,请参阅MongoDB MongoDB ServerServer手册中的发布说明。要学习;了解有关.NET/ C#驱动程序和MongoDB Server之间兼容性的更多信息,请参阅兼容性页面。

  • 该驾驶员不再支持.NET 框架 v 4.5.2 及更早版本。应用程序必须使用.NET 框架 v 4.7.2 或更高版本、 .NET Core 2 .x 或更高版本、 .NET 5 或更高版本。

    要学习;了解有关.NET/ C#驱动程序和.NET之间兼容性的更多信息,请参阅兼容性页面。

  • 该驾驶员删除了对.NET Standard v 1.5 的支持。您的应用程序必须使用.NET Standard v 2.0 或更高版本。

后退

升级