首页 > 解决方案 > 缺少方法异常 MongoDB C# 驱动程序

问题描述

最新的 MongoDB C# 驱动程序出现以下错误。

System.MissingMethodException MongoDB.Bson.GuidRepresentationMode MongoDB.Bson.BsonDefaults.get_GuidRepresentationMode()

MongoClient中出现异常:

var client = new MongoClient("mongodb+srv://____:___@_____.nrzff.mongodb.net/____?retryWrites=true&w=majority");
var database = client.GetDatabase("ResultsModelSummary");
var collection = database.GetCollection<BsonDocument>("Zones");   
var bsonDocList = new List<BsonDocument>();
foreach (var r in resModSums) {
    var bsonDoc = BsonDocument.Parse(Serialization.Serialize<ResultsModelSummary>(r));
    bsonDocList.Add(bsonDoc);
}

collection.InsertManyAsync(bsonDocList);   

public class ResultsModelSummary
    {
        // META
        public string RunID { get; set; } // this is a stringified GUID
        public string TimeStamp { get; set; }
        // more fields .....
    }

异常实际上是不规则地发生的。有时上面的代码可以正常工作。

有什么建议么?

添加更多信息:

System.MissingMethodException HResult=0x80131513 消息=找不到方法:'MongoDB.Bson.GuidRepresentationMode MongoDB.Bson.BsonDefaults.get_GuidRepresentationMode()'。
Source=MongoDB.Driver StackTrace: 在 MongoDB.Driver.MongoUrl..ctor(String url) 在 MongoDB.Driver.MongoClient..ctor(String connectionString) 在 EnergyMLGH.MongoDB.<>c__DisplayClass1_0.b__0() 在 C:\Users ...\MongoDB.cs:System.Threading.Tasks.Task.Execute() 处的第 52 行

异常截图

标签: c#mongodbmongodb-.net-driver

解决方案


我遇到了同样的问题,结果发现我有不同版本的 MongoDB 引用。我删除了引用并将它们添加回来,确保这些版本都是最新的,瞧,它开始工作了。


推荐阅读