在dll中使用lib进行c#

时间:2013-08-23 18:51:22

标签: c# visual-studio-2010 dll static-libraries

dll我遇到了一些问题。当我在不使用dll文件(我需要)的情况下制作lib时,一切都很好。但是,当我尝试使用dll中使用lib中的函数的某些函数时,会出现一些异常:

System.DllNotFoundException, cant load a dll module (exception from HRESULT:0x8007007E).

dll文件位置正确。 附:使用Visual Studio 2010。

可能出现什么问题?

2 个答案:

答案 0 :(得分:0)

如果你正在创建一个新类,你应该引用默认的dll。 例如,当您创建一个新的类库并希望在代码中使用消息框时, 你应该首先在你的程序中引用所需的dll(我不是指你的dll,我的意思是dot net default dll,如system.windows.forms),然后添加一些东西;在班上名列前茅。

示例:我们希望在类库中使用messagebox然后: 1.首先从解决方案资源管理器中右键单击项目>添加引用,现在引用管理器现在从左侧选项卡打开单击程序集然后单击框架,然后查找并选择system.windows.forms 2.现在是时候在我们的程序中使用它了,首先将这一行添加到类文件的最顶层

using System.Windows.Forms; //add this line in top of your class

之后我们可以使用messagebox而不会出现任何编译错误。

请记住,任何其他dll文件都应该以这种方式引用,但在Windows窗体应用程序默认引用默认的lib文件

答案 1 :(得分:0)

问题中的更多细节将为您提供更好的答案。但是根据当前信息,最可能的原因是您引用的lib文件或其依赖项之一不可用。这可能是因为它不在您的GAC或您的运行时位置,文件格式冲突或许多其他事情。

当然,我假设所有内容都编译没有错误。如果这不是您需要的,请再次添加详细信息。