我有一些奇怪的情况,我在工作中继承了一些代码。他们的应用程序是一个多项目解决方案,其中几个解决方案是MS Enterprise Library的(代码)部分(不确定是哪个版本)。
他们还有一个现有的C ++(非托管)应用程序,它有一堆DLL。其中一个DLL构建在一个单独的解决方案中,包括64位和32位版本。
主应用程序有一个对这个DLL的引用,并调用几个静态函数(我甚至可以看到intellisense)。我可以编译和构建主要的应用程序EXE,但是当我运行它时,我得到一个异常,即来自非托管代码的这个DLL(让我们称之为CPlusPlusCode.dll
无法找到:
FileNotFound异常未处理:无法加载文件或程序集“CPlusPlusCode.dll”或其某个依赖项。找不到指定的模块。
我很难过,因为我可以编译代码,查看导入类的intellisense,并在对象浏览器中挖掘DLL。我甚至确保在\ bin \ Debug文件夹中有一个副本(虽然我不明白为什么会产生影响)。这适用于Windows窗体应用程序。
另外,如果重要的话,我有一些与x86和x64相关的构建问题,用于不同的项目;我认为(希望?)这与此无关,但我通过使用Configuration Manager将所有内容构建为x64来解决这个问题。
答案 0 :(得分:0)
检查GAC,如有必要,您可能需要添加它或在那里注册DLL。
答案 1 :(得分:0)
我在项目中遇到了这个问题,它在Visual Studio中运行正常,而且我的大部分时间都是在我的机器上本地运行项目。但由于非托管代码,我需要特别允许以正确的权限级别执行项目。
所以看看清单文件,存在足够的权限等。