我如何解决"请确保该文件是可访问的,并且它是一个有效的程序集或COM组件"?

Oma*_*ama 52 .net c# dll opencv

我正在用C#中的OpenCV构建一个项目.它需要一个名为的dll文件cvextern.dll.但是,当添加此文件作为参考时,会出现以下消息: -

无法添加引用"cvextern.dll",请确保该文件是可访问的,并且它是有效的程序集或COM组件.

我厌倦了搜索,过去两天我一直在寻找解决这个问题的方法

Yah*_*hia 26

该文件是本机DLL,这意味着您无法通过添加引用将其添加到.NET项目...您可以通过DllImport使用它(请参阅http://msdn.microsoft.com/en-us/library/system .runtime.interopservices.dllimportattribute.aspx)

  • AFAIK并不重要......虽然DLL必须在项目目录中或"全局可访问"(如system32 ...) (4认同)
  • 但是如果你不能在项目中添加对它的引用,你如何调试对该外部dll的调用? (2认同)

小智 25

在我的情况下,我必须注册.dll.

为此,请cmd.exe使用管理员权限打开(控制台)并键入:

regsvr32 "foo.dll"
Run Code Online (Sandbox Code Playgroud)

  • 当我运行此命令时,我仍然遇到类似的错误。确保文件存储在指定的路径等 (2认同)

bil*_*lly 5

确保在构建应用程序时将所需的 dll 导出(或手动复制)到 bin 文件夹。

  • 是的,因为我无法将其添加为参考,但另一个 DLL 需要它。只需在编译时复制即可。 (2认同)