Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找不到将DLL导入Unity类型或命名空间_C#_.net_Dll_Unity3d_Import - Fatal编程技术网

C# 找不到将DLL导入Unity类型或命名空间

C# 找不到将DLL导入Unity类型或命名空间,c#,.net,dll,unity3d,import,C#,.net,Dll,Unity3d,Import,我正在使用USB接口设备进行一个项目(请参阅),并尝试在Unity应用程序中使用SDK包中提供的DLL。最终目标是允许Unity访问来自硬件的输入和输出-这方面的功能由DLL提供 ,并尝试从脚本访问它 using UnityEngine; using System.Collections; using k8055d; public class DLLTest01 : MonoBehaviour { public k8055d usbHandler; void Star

我正在使用USB接口设备进行一个项目(请参阅),并尝试在Unity应用程序中使用SDK包中提供的DLL。最终目标是允许Unity访问来自硬件的输入和输出-这方面的功能由DLL提供

,并尝试从脚本访问它

using UnityEngine;
using System.Collections;
using k8055d;

public class DLLTest01 : MonoBehaviour 
{   
    public k8055d usbHandler;

    void Start(){}
}
团结给了我一个错误。错误是:

Assets/Resources/Scripts/DLLTest01.cs(3,7):错误CS0246:类型或 找不到命名空间名称“k8055d”。你是不是错过了一场比赛 指令还是程序集引用

DLL肯定在项目文件夹中,名为“k8055d.DLL”,这可能是什么原因?我该怎么做才能使DLL与我为硬件设备制作的任何游戏一起工作

我觉得这可能与Unity正在使用的.NET版本有关,但我不确定如果这是问题所在,我能做些什么。

Unity论坛应该能帮助您:

要在游戏中使用外部DLL,只需将其放在Unity项目的资产目录中即可。然后,下次Unity同步VisualStudio/MonoDevelop项目时,它将向VisualStudio/MonoDevelop项目中的DLL添加必要的引用

因此,请尝试将DLL放在
资产
目录中,看看是否这样做

您也可以尝试使用DllImport,如下所示:

[DllImport("k8055d.dll")] 

但正如您在问题中所说,这很可能是.NET版本的问题。

我检查了文档,您的DLL不是.NET版本。它是经过编译的,因此您需要使用插件才能将其与Unity3D一起使用。(您可能需要围绕该本地dll代码创建一个.NET包装。)


你好,迈卡,看看我的编辑是否对你有帮助。否则,我将不得不稍后在家中亲自尝试:)不幸的是,使用DLLImport会让我出现这个错误。Assets/Resources/Scripts/DLLTest01.cs(6,10):错误CS0246:找不到类型或命名空间名称“DllImport”。是否缺少using指令或程序集引用?再次感谢您的帮助!我很乐意等你回家:)不用担心。我认为您可能需要
使用System.Runtime.InteropServices对于DLLImport,有帮助吗?啊,太好了,这很有意义。但是,我现在遇到了这个错误:Assets/Resources/Scripts/DLLTest01.cs(7,10):错误CS0601:必须在标记为
static'和
extern'的方法上指定dlliport属性DLL是否与.NET 3.5兼容?如何检查?请看这里:谢谢!我将对此进行调查:)