【发布时间】:2016-07-07 11:36:53
【问题描述】:
完整的错误是:
“对象”类型是在未引用的程序集中定义的。 您必须添加对程序集 'mscorlib, version=4.0.0.0, ...' 的引用
我尝试实例化仍在 .Net 4.5 程序集中的 MongoClient,如下所示:
var client = new MongoDB.Driver.MongoClient(@"mongodb://localhost:27017/");
if (client == null)
{
return;
}
编译错误出现在client == null 行。
我的project.json如下:
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MongoDB.Driver": "2.2.4",
"MongoDB.Driver.Core": "2.2.4",
"MongoDB.Bson": "2.2.4"
},
"frameworks": {
"netstandard1.6": {
"imports": "net46"
}
}
}
我的虚拟机有 Win10 作为操作系统,所以我只安装了 .Net 46x。
我已经删除了 dnxcore50 的导入,并将其替换为完整的 net46 导入。我做错了吗?
【问题讨论】:
-
你真的安装了.net core吗?
-
是的。我可以构建和运行默认的 Mvc Asp.Net Core 模板。包还原也成功了。
-
你的项目引用中有
System吗? -
System.Object 是 System.Runtime 的一部分,而 System.Runtime v4.1.0 是 NetStandard.Library 1.6 的一部分。所以是的,它应该被引用。但似乎 MongoDB.Driver 程序集中的 Object 引用和我的项目中的引用存在某种冲突。至少我是这么理解的。
标签: c# .net mongodb-.net-driver .net-core