我正在用C#编写一个小型AOL IM应用程序。我有我需要的所有dll,我已经能够编译和运行我的应用程序。但是,当它运行时,我会收到一个错误
“无法加载DLL'acccore.dll':找不到指定的模块。(HRESULT异常:0x8007007E)”
我知道这意味着无法找到acccore.dll文件,但我不知道为什么。我尝试将它放在C:\ Windows \ System32中,它也位于在Visual Studio中构建项目时创建的调试目录中。谁能告诉我如何让我的应用程序知道这个dll的位置?
谢谢!
答案 0 :(得分:4)
我做了一些研究,看起来acccore.dll是一个COM DLL文件。这意味着您需要运行:
regsvr32.exe C:\Windows\System32\acccore.dll
这会将COM DLL注册到注册表中,然后您可以在.NET代码中使用该DLL。看看链接:
http://64.12.130.129/forum?c=showthread&ThreadID=1173
所以你需要使用P / Invoke来使用DLL(我想AOL SDK有一些你可以使用的示例代码)。
答案 1 :(得分:0)
这个dll是汇编吗?
如果是这样,那么fuslogvw将显示CLR在哪里寻找程序集。把它放在.net正在寻找的地方
答案 2 :(得分:0)
.NET程序集需要位于应用程序的目录(或其子目录之一,特别是如果它们代表不同程序集的本地化版本),或者在GAC(全局程序集缓存)中。如果DLL不是'在与.EXE相同的目录中,那就是你的问题。如果它仍然不起作用,则表示装配由于某种原因不匹配。
答案 3 :(得分:0)
我使用了dependancywalker来找到我错过的dll导致它出错。这是Taylor Leese在评论中提出的。