.net - 使用我自己的插件Dll文件时Unity3D出现奇怪的错误

标签 .net opencv unity3d

我正在尝试为基于Unity项目的OpenCV创建一个AR插件。如果我创建目标基于.NET Framework 4.0的dll(基于C++)文件,则如果我未将其放在 Assets 文件夹中,而是在 Assets 文件夹之外和我的项目文件夹下,它将很好地工作。我将dll文件放在JwdArPlugin文件夹下。

但是,如果我将此dll文件拖到 Assets 文件夹中,它将无法正常工作,并且会从编辑器中看到一些错误消息。

然后我意识到我需要编译dll文件目标.net framework 2.0。最终unity识别了这个dll,并且我可以将其导入 Assets 文件夹,但是当我尝试运行它时,unity崩溃了。我不知道为什么以及如何解决这种问题,任何想法都会感激,很多〜

“我知道我的话不清楚。我试图提供更多详细信息。简单的问题是,我编译了目标.net framework 4.0的dll文件,它运行良好,只需要将其放在项目文件夹和外部 Assets 文件夹下。Unity无法将其导入到 Assets 文件夹中,但是如果我编译了目标文件.net framework2.0,则unity可以识别它,并且可以将其导入到 Assets 文件夹中,但是当应用程序运行到dllimport函数时,它崩溃了。
附加图片

最佳答案

最终,我发现自己之前犯了一个错误。由于Unity3D支持.net frame 2.0。如果我使用.net framework 2.0编译自己的dll,则需要使用.net framework2.0重新编译OpenCV。 (我在这里不清楚,但是在我使用Visual c++ 2008重新编译opencv之后,一切都很好)

关于.net - 使用我自己的插件Dll文件时Unity3D出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102289/

相关文章:

c# - 静态索引器?

.net - 使用 TypeDescriptor 为 PropertyGrid 动态添加属性级属性

c# - 无法正确增加代码

c# - 实现 pin 键盘,简化代码?

c# - 埃尔米特插值

c# - 如何获取当前属性的 PropertyDescriptor?

c# - 确定皮肤文件中的 Safari 浏览器?

c++ - 实时模板匹配 - OpenCV,C++

c++ - OpenCV:Orb 参数

android - OpenCv 和 Android studio 1.3+ 使用新的 gradle - undefined reference