【问题标题】:I can't Add dll to References in Visual Studio 2010我无法将 dll 添加到 Visual Studio 2010 中的引用
【发布时间】:2025-09-09 21:15:02
【问题描述】:

我在 Visual Studio 2010 中开发 WinApp(使用 C# 语言)

我想在 Reference 中添加一个 dll(不是系统 dll)。

但是当我打开 Add Reference Window And Browse dll 时,请参阅错误消息:

无法加载文件或程序集“W2D_D2.dll”或其其中之一 依赖关系。该模块应包含程序集清单。

此文件可能不是托管程序集。

我什至将目标平台从“.net framework 4 客户端配置文件”更改为“.net framework 4”,但没有区别。

如何将此 dll 添加到我的项目中?

【问题讨论】:

    标签: visual-studio-2010 add-references-dialog


    【解决方案1】:

    看起来这个 DLL 不是托管程序集。您可以通过尝试使用 ILSpy 或 Reflector 打开它来快速检查。

    如果是这种情况,您将不得不 pinvoke 或使用 com 来使用此 dll。

    【讨论】:

    • 感谢史蒂夫。我下载 ILSpy 并运行它,但这个程序无法打开我的 dll。但我过去可以将此 dll 添加到我的项目中。但现在我不能。请解释 pinvoke 和 com 以使用我的 dll。谢谢
    • Pinvoke 表示从托管代码调用本机代码。 Com 组件是一种创建可重用组件的方法。您必须选择正确的方法来使用您的 DLL,但这取决于您的 DLL。检查 DLL 提供者的文档以了解它的工作原理并选择正确的网桥。在任何情况下,您都必须在 Google 上进行大量搜索才能使其正常工作。
    • 一个小而明显的测试,可以避免你很多头疼... dll文件损坏了吗?您是否尝试将 dll 从它工作的地方替换为一个?
    • 谢谢...我可以用一点点解决我的问题。我将 w2d_d2w.dll 搜索到我计算机中的所有分区,并找到我的项目(obj 文件夹)中存在的一个 dll(“interopt.w2d_d2w.dll”(6 kb))。这个 dll 在我的项目上工作得很好。但我的 w2d_d2w.dll 是 80kb。但是这个新的 dll 运行良好。我有点困惑。
    • 幸运 :) 桥接托管和非托管代码可能会严重影响心理健康。