Microsoft Visual Studio:控制台应用程序中的System.IO.FileNotFoundException,它引用了应该具有相关文件的库

问题描述 投票:0回答:1

我在Visual Studio中创建了一个c#Library类(称为IfcManagerLib),并通过NuGet包管理器安装了一些包(仅在库中)。现在我想通过Console App(名为IfcManagerConsole)使用这个库,所以我在同一个解决方案中创建了一个,添加了对IfcManagerLib的引用并添加了“using IfcManagerLib;”在控制台类的顶部。但是,如果我启动控制台,它总是在尝试从库类执行某些操作时断开。它输出以下错误:

System.IO.FileNotFoundException HResult = 0x80070002 Message =文件或程序集“Microsoft.Extensions.Logging.Abstractions,Version = 2.2.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60”或找不到它的依赖项。系统找不到指定的文件。来源= IfcFileManagerLib StackTrace:位于C:\ Users \ David \ Dropbox \ Visual Studio \ source \ repos \ IfcFileManager \ IfcFileManagerLib \ IfcManager.cs中的IfcFileManagerLib.IfcManager.Start():位于IfcFileManagerConsole.Program.Main(String [] args)的第101行C:\ Users \ David \ source \ repos \ IfcFileManager \ IfcFileManagerConsole \ Program.cs:第36行

内部异常1:FileNotFoundException:找不到文件或程序集“Microsoft.Extensions.Logging.Abstractions,Version = 2.1.1.0,Culture = neutral,PublicKeyToken = adb9793829ddae60”或其依赖项。系统找不到指定的文件。

(对不起,其中一些是德语,但我想你大多知道应该说什么)

真正困扰我的是,上述错误消息中的IfcManagerLib(C:\ Users \ David \ Dropbox \ Visual Studio \ source \ repos \ IfcFileManager \ IfcFileManagerLib \ IfcManager.cs)的路径不正确。这是一条古老的道路。我重建了解决方案,unistalled并重新安装了所有软件包,但错误仍然存​​在。另外:“Microsoft.Extensions.Logging.Abstractions,Version = 2.1.1.0”不正确,我将其更新为2.2.0.0。

假设控制台项目不需要安装库使用的软件包,我是否正确?如果是的话,我做错了什么?

编辑:好的。清洁和重建解决方案已经做了很多。但是,有一个名为Xbim Geometry的dll,控制台仍无法找到。这是错误消息:

System.IO.FileLoadException HResult = 0x80131621消息=无法加载Xbim.Geometry.Engine64.dll Source = Xbim.Geometry.Engine.Interop StackTrace:at Xbim.Geometry.Engine.Interop.XbimGeometryEngine..ctor(ILogger`1 logger)在C:\ buildagent_os_work \ 1 \ s \ Xbim.Geometry.Engine.Interop \ XbimGeometryEngine.cs:第65行,位于C:\ buildagent_os_work \ 1 \ s \ Xbim.ModelGeometry中的Xbim.ModelGeometry.Scene.Xbim3DModelContext.get_Engine()。 Scene \ Xbim3DModelContext.cs:位于C:\ buildagent_os_work \ 1 \ s \ Xbim.ModelGeometry.Scene \ Xbim3DModelContext.cs中的Xbim.ModelGeometry.Scene.Xbim3DModelContext.CreateContext(ReportProgressDelegate progDelegate,Boolean adjustWcs)的第486行:位于IfcFileManagerLib的第678行。 C:\ Users \ david \ source \ repos \ ifcFileManager \ IfcFileManagerLib \ IfcManager.cs中的ifcManager.Start():位于C:\ Users \ david \ source \ repos中的IfcFileManagerConsole.Program.Main(String [] args)的第82行\ ifcFileManager \ IfcFileManagerConsole \ Program.cs:第36行

内部异常1:FileNotFoundException:找不到文件或程序集“Xbim.Geometry.Engine.dll”或其依赖项。系统找不到指定的文件。

我发现奇怪的是,与我通过NuGet管理器在库项目上安装的其他dll不同,XbimGeometry dll位于两个名为x64和x86的文件夹中,其中有64位和32位版本。这可能是问题吗?

c# visual-studio reference filenotfoundexception
1个回答
0
投票
  1. 你能做一个干净的解决方案并重建解决方案。
  2. 您可以将引用设置为项目引用并为该引用设置“复制本地”吗?
© www.soinside.com 2019 - 2024. All rights reserved.