我无法在visual studio中添加Leap.dll和Leapcsharp.dll引用

时间:2013-08-22 13:39:46

标签: c# visual-studio-2012 leap-motion

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

我从leapmotion网站下载了sdk。我收到错误“无法加载引用。请确保该文件是可访问的,这是有效的程序集或COM组件。”

4 个答案:

答案 0 :(得分:1)

leap.dll和leapcsharp.dll中的一个目录是LeapCSharp.NET3.5.dllLeapCSharp.NET4.0.dll。 (LeapDeveloperKit\LeapSDK\lib

这些是Visual studio引用的工具。

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

编辑: 也许您可以查看此leap tutorial,并附上code examples

这是一个更好的P/Invoke tutorial

使用像DLL Export Viewer这样的应用程序,您可以看到您的leap dll可用的所有方法。这些将是您使用P / Invoke的入口点。还有一个PInvoke assistance tool会为您编写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。

答案 1 :(得分:1)

来自Leap Motion Developper Documentation

  

在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来运行您的应用程序(在Leap SDK中的lib\x86lib\x64中)

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

xcopy /Y  /D "$(ProjectDir)..\App_Bin\$(PlatformName)\*.*" "$(ProjectDir)bin\$(PlatformName)\$(ConfigurationName)\"

答案 2 :(得分:0)

我遇到了同样的问题。

您必须在解决方案中添加现有项目,然后从文件夹中选择文件Leap.dll,LeapCSharp.dll:LeapDeveloperKit \ LeapSDK \ lib(x86或x64)和LeapCSharp.NET4.0.dll或LeapCSharp.NET3 .5.dll(取决于你在当前项目中使用框架4或3.5)来自文件夹:LeapDeveloperKit \ LeapSDK \ lib。然后,您必须在每个中进行严格单击,然后选择“属性”选项。您必须确保&#34;复制到输出目录&#34;使用&#34; copy allwas&#34;选择选项。选项(非常重要)。然后你必须在参考文献 - &gt;中进行严格的点击。添加参考 - &gt;浏览 - &gt;选择你的proyect(你当前的解决方案) - &gt;选择LeapCSharp.NET4.0.dll(来自文件夹) - &gt;好。这就是全部。

要么

this video分钟11:29。她告诉你更好。

答案 3 :(得分:0)

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

并在Visual Studio中设置文件属性

  

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

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