1

我无法在给定的 Visual Studio 项目中添加 Leap SDK 中的 Leap.dll 和 Leapcsharp.dll。我正在为 Windows 桌面使用 VS2012 express。

我已经从leapmotion 站点下载了sdk。我收到错误消息“无法加载引用。请确保该文件是可访问的并且是有效的程序集或COM 组件。”

4

4 回答 4

1

来自Leap Motion 开发者文档

在 Windows 上,确保 Sample.exe 和 LeapCSharp.NET3.5.dll 或 LeapCSharp.NET4.0.dll 在当前目录中。将lib\x86目录中的库用于 32 位项目。将lib\x64目录中的库用于 64 位项目。[...]

您只需要 LeapCSharp.NET3.5.dll 或 LeapCSharp.NET4.0.dll 即可编译您的项目。但是您需要非托管库Leap.dllLeapCSharp.dll运行您的应用程序(lib\x86lib\x64Leap SDK 中)

我个人将这些非托管库放在App_Bin\<platform name>解决方案目录下的文件夹(<平台名称> = x84 或 x64)中,并使用以下构建后命令将它们复制到编译器输出目录(例如MyProject\bin\x64\Debug

xcopy /Y  /D "$(ProjectDir)..\App_Bin\$(PlatformName)\*.*" "$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)\"
于 2013-08-24T18:50:56.923 回答
1

从leap.dll 和leapcsharp.dll 向上一个目录是LeapCSharp.NET3.5.dllLeapCSharp.NET4.0.dll. ( LeapDeveloperKit\LeapSDK\lib )

这些是 Visual Studio 参考的工具。

如果要使用leap.dll 文件,则需要使用P/Invoke

编辑:也许您可以查看这个飞跃教程,并附有代码示例

这是一个更好的P/Invoke 教程

使用像DLL Export Viewer这样的应用程序,您可以查看可用于您的leap dll 的所有方法。这些将是您使用 P/Invoke 的入口点。还有一个PInvoke 辅助工具可以为您编写 c#。

但是,使用以下方法执行此操作leap.dll

[DllImport("leap.dll")]
public static extern bool hasFocus();

LeapCSharp.Net4.0与使用dll 引用执行此操作相同:

Leap.Controller con = new Controller();
var focus = con.HasFocus;

所以你不需要两组 DLL。

于 2013-08-22T17:28:27.323 回答
0

我有同样的问题。

您必须将现有项目添加到您的解决方案并从以下文件夹中选择文件 Leap.dll、LeapCSharp.dll:LeapDeveloperKit\LeapSDK\lib(x86 或 x64)和 LeapCSharp.NET4.0.dll 或 LeapCSharp.NET3.5。 dll(这取决于您在当前项目中使用的是框架 4 还是 3.5)来自文件夹:LeapDeveloperKit\LeapSDK\lib。然后你必须在它们中的每一个中单击并选择“属性”选项。您必须确保使用“copy allwas”选项选择了“Copy to Output Directory”选项(这非常重要)。然后你必须在 References -> Add Reference -> Browse -> 选择您的项目(您当前的解决方案)-> 选择 LeapCSharp.NET4.0.dll(从文件夹)-> 确定。就这样。

或者

观看 此视频分钟 11:29。她告诉你更好。

于 2013-09-24T15:47:32.333 回答
0

您只需将文件 Leap.dll 和 LeapCSharp.dll 添加到您的项目中。

并在 Visual Studio 中设置文件属性

复制到输出目录 = 始终复制;

还要在您的项目中添加对 LeapCSharp.NET4.0.dll 或 LeapCSharp.NET3.5.dll 项目的引用。引用必须对应于用于调试或发布项目的机器类型。这些文件在 SDK 中提供给您

于 2013-10-12T12:48:24.627 回答