mongodb.bson.bsonserializationexception: type xxx is not configured as an allowed type for this instance of objectserializer.

ET7构建工程的时候,IDE会弹出warning as error中断Build。具体报错为MonoDB.Driver版本过

(第一次写帖子,不知道这截图能不能发出来)。这需要是升级到MonoDB.Driver 2.19.0+版本才会解决,当升级到2.19+版号后会带出标题的问题。经过搜查,MongoDB官网有提过这是2.19.0更新好提出新的要求,要求开发者声明哪些类型是安全的。

解决方案: Rider或VS升级Mongo.Driver后,将.Nuget包的新版本Mongo.Driver.dll等文件替换工程里的文件。然后在MongoHelper.cs(其他地方也行,序列化之前执行一次即可)加入一下代码

var objectSerializer = new ObjectSerializer(type => ObjectSerializer.DefaultAllowedTypes(type) || type.FullName.StartsWith(“ET”)); BsonSerializer.RegisterSerializer(objectSerializer);

我这里多少有些不求甚解,大佬们可以根据代码的和MongoDB官方答复中,给出更优的解决方案。

看目前论坛还没有相关帖子,为节省大家时间,我发一个帖子分享下。

    ETuzki 和我一样,问题是 新库无法使用 object 来序列化,必须是原类型 ToBson,才可以。看我帖子

    说点什么吧...