繁体   English   中英

找不到导入的DLL的类型或名称空间

[英]Unable to find type or namespace of imported DLL

我从这个下载的“smilenet-1.2.1-Win64的学术”库和进口smileNET.dll在我的Unity工程。 然后,我重新启动了Visual Studio,当我尝试使用该库时,它给了我一个错误,即找不到类型或名称空间。 我尝试using Smile; using smileNET; 就像他们的文档文件Hello.cs中指出的那样,但是它不起作用。 我尝试了64位版本以及32位版本。 我的统一版本是2018.1.8f1 64bit

当我检查下载的DLL,它说,该> NET版本是v4.0.30319 ,而我的VS2017运行时版本4.7.03056 ,那会是一个问题吗?

我尝试过的各种方法:

  1. 我也尝试过手动添加引用。 添加引用的选项没有出现,所以我单击了Project> Referneces> Analyzers,如下所示,然后在顶部菜单中单击了Project>Add References ,然后添加了smileNET.dll文件。 这样做可以(暂时)修复错误。 当我关闭VS时,它询问我是否要将更改保存到Chem-o-Crypt.sln Assesmbly-CSharp* ,所以我说是(尽管我怀疑它是否真的保存了)。 但是,当我重新启动Visual Studio时,我发现该引用已消失,并且错误再次弹出。 h:/

在此处输入图片说明

  1. 还尝试了启用不安全代码的编译(以防万一),如Unity 文档中所示,但也不起作用。

在此处输入图片说明

  1. 我有另一个文件夹( Chem-o-Crypt/Assets/bayesserver-8.3/DotNet/Standard20/ ),其中包含其他几个运行良好的dll,因此我将dll粘贴到了那里,但它不起作用。
  2. 我确实尝试过在Chem-o-Crypt/Chem-o-Crypt/PluginsChem-o-Crypt/AssetsChem-o-Crypt/Assets/Plugins添加该dll,但似乎没有什么错。而且不起作用。
  3. 复制在DLL的64位版本Chem-o-Crypt\\Assets\\Plugins\\x64和32位版本Chem-o-Crypt\\Assets\\Plugins\\x86这也不能工作。
  4. 将dll复制到Unity编辑器的根目录(例如C:\\ Program Files \\ Unity \\ Editor)
  5. 这个人和我的错误相同。 跳到15:21的时间,但是我无法使用他的解决方案,因为我的项目资源管理器中的内容显示方式有所不同。 基本上,dll没有像在那儿那样出现在那儿。

我下载了dll,很遗憾,这是一个混合程序集,请参见图片,Unity不支持。

非托管

然后一些解决方法可以是:

  • 构建和使用本机插件

  • 使用smileNET.dll创建另一个C#程序,并与Unity程序通信。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM