【问题标题】:Using lib in dll for c#在 C# 的 dll 中使用 lib
【发布时间】:2013-08-23 18:51:22
【问题描述】:

dll 有一些问题。当我制作dll 而不使用lib 文件(我需要)时,一切都很好。但是当我尝试使用dll 中的某些函数时,这些函数使用了lib 中的函数,然后出现了一些异常:

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

dll 文件在正确的位置。 附言使用 Visual Studio 2010。

可能出了什么问题?

【问题讨论】:

  • 所以你的意思是你试图在 lib 文件中使用一些不存在的方法?

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


【解决方案1】:

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

当然,我假设所有内容都可以正确编译。同样,如果这不是您需要的,请添加详细信息。

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多