首页 > 解决方案 > 如何在 C# 项目中包含 C# .dll 包装器?

问题描述

所以我有一个 C# 项目,我正在尝试通过 Silicon Labs CP2112 USB 到 i2c 桥向它添加 USB 功能。它们以 2 个 .dll 文件的形式提供驱动程序:SLABHIDtoSMBus.dll 和 SLABHIDDevice.dll(显然在运行时需要)。我还发现了一个 SLABCP2112.cs 文件,它应该允许在 C# 中使用 dll。

我已成功将 SLABCP2112.cs 添加到我的项目中,并且 Intellisense 可以识别这些功能。问题是当我运行程序时,它总是抛出一个异常,即找不到 SLABHIDtoSMBUS.dll(System.DllNotFoundException)。我尝试将 dll 移动到不同的位置,例如主项目文件夹、项目中的“USB”文件夹,其中我包含了 SLABCP2112.cs、Windows SysWOW64 文件夹,最后是 c# 项目的“bin”文件夹。

将它放在 bin 文件夹中仍然会引发异常,但会将错误更改为错误的图像错误或类似的东西。为了更好地衡量,我尝试将 .dll 作为引用添加到项目中,但这会导致错误“无效或不受支持的类型”。

我假设问题仍然是编译器不知道在哪里查找 dll 文件,那么我应该把它们放在哪里?或者如果没有,我该如何让它工作?

标签: c#

解决方案


推荐阅读