我有以下情况:
我有一个有效的delphi dll(非托管)。我有一个有效的win表单应用程序(概念验证应用程序)。 dll(及其所有依赖项)将复制到应用程序的Bin / Debug目录中。
我创建了一个.NET托管库,它有一个类是dll的包装器。 dll和dll的所有依赖项都复制到/ Bin / Debug文件夹中。
在托管库的单元测试项目中,我为包装类创建了一个单元测试。当我运行单元测试时,会显示以下错误:
DAEcommerce.Logic.Tests.Infrastructure.L3.L3DatabaseConnectionTest.OpenClose_ProperParameters_ActiveSetToTrueAndFalse: System.DllNotFoundException:无法使用 加载DLL'AttrbInterface.dll':A 动态链接库(DLL) 初始化例程失败。 (HRESULT异常:0x8007045A)
有问题的dll被复制到单元测试项目的Bin / Debug文件夹中。我也尝试将其复制到Windows / system32,将其添加到Windows路径并将其复制到NUnit exe所在的文件夹中。它只是不起作用。
我有以下问题:
答案 0 :(得分:1)
我在64位系统上遇到了与7z.dll和SevenZipSharp类似的问题。 7z.dll是32位,所以我必须确保使用nunit-x86.exe
。我也不得不在NUnit设置中关闭影子复制,不知道为什么,但不会加载7z.dll。
答案 1 :(得分:0)
尝试使用Fusion Log Viewer实用程序从Windows SDK获取有关加载.NET程序集时实际发生情况的更多信息。