我已经使用.Net Standard 2.0创建了一个新项目,该项目具有以下依赖性:
但是,当我运行程序时,出现以下错误:
未处理的异常:System.IO.FileNotFoundException:Coult无法加载文件或程序集“ MongoDB.Bson,版本= 2.7.2.0,文化=中性,PublicKeyToken =空”或其依赖项之一。系统找不到指定的文件。
我来自Java世界,这使我今天整整陷入困境。我尝试添加指定的所有here依赖关系,包括驱动程序本身的依赖关系,没有任何运气。
我在做什么错了?
答案 0 :(得分:1)
我创建了一个针对.NET Standard 2.0的库,该库使用了mongocsharpdriver程序包,另一个.NET Framework 4.6.1项目则使用了该库(控制台应用程序)。
构建正常,但是在运行时出现FileNotFoundException。
此线程https://github.com/dotnet/standard/issues/410和本文都为问题https://www.hanselman.com/blog/ReferencingNETStandardAssembliesFromBothNETCoreAndNETFramework.aspx
提供了一些启示基本上,解决方案是在与控制台应用程序相对应的csproj中添加一行:
我可以打开Framework项目的.csproj文件并将其添加 在第一个这样的行内更改恢复 风格:
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
再次构建之后,将MongoDB。*。dll文件复制到输出文件夹。
希望这会有所帮助,并节省其他人的时间!
答案 1 :(得分:0)
我遇到了同样的问题,在添加了这些依赖项之后,我的问题就解决了。
答案 2 :(得分:0)
我遇到了同样的问题,并通过右键单击该项目并将Target框架从4.6更改为4.6.1进行了修复。