C# Unity3d DllNotFoundException显示的目录不';我的电脑上没有

C# Unity3d DllNotFoundException显示的目录不';我的电脑上没有,c#,c++,unity3d,dll,plugins,C#,C++,Unity3d,Dll,Plugins,我试图在我的unity项目中使用一个资源,它有一个c#script.cs,在游戏开始时调用并初始化插件。 但当我按下播放按钮时,unity不断抛出DllNotFoundException 这是我玩游戏时出错的图片 (很抱歉,由于我签署的使用条款,我不得不发送一张照片并对某些部分进行审查) 错误是 在“C:/Users/thatcompany/source/repos/plugin name/plugin name api/a-class-in-plugin.cs:192” 我的电脑上甚至没有这

我试图在我的unity项目中使用一个资源,它有一个c#script.cs,在游戏开始时调用并初始化插件。 但当我按下播放按钮时,unity不断抛出DllNotFoundException

这是我玩游戏时出错的图片 (很抱歉,由于我签署的使用条款,我不得不发送一张照片并对某些部分进行审查)

错误是

在“C:/Users/thatcompany/source/repos/plugin name/plugin name api/a-class-in-plugin.cs:192”

我的电脑上甚至没有这个路径

此资产为UNITY3D,用C和C++编写。 用于初始化的代码是用C语言编写的,它使用了一个用C语言编写的DLL文件,DLL文件使用C++编写的另一个DLL文件,并且具有

[DllImport(“DllThatUnityCantFind”,EntryPoint=“name\u initialize”,CharSet=CharSet.Ansi)]
公共静态外部IntPtr Name_initialize(int argc,字符串[]argv);
这是我发现对这个问题有用的唯一一行代码,因为其他行甚至没有机会执行

我已经阅读了本网站和其他网站上的所有相关问题,并尝试了这些答案

  • 将DLL文件放入项目的根目录中

  • 将DLL文件放入unity editor主文件夹

  • 将DLL文件分离到不同的目录中

  • 将从属DLL文件放入项目的根目录中,同时将另一个文件放入插件文件夹,反之亦然

  • 将脚本运行时版本切换到3.5和4.x

  • 更改API功能级别

  • 做一个新项目

  • 重新启动编辑器

  • 以管理员身份打开unity编辑器

  • 将unity更新到此插件测试的版本

  • 正在将unity更新至最新版本

  • 将DLL文件的名称更改为name.DLL.DLL而不是name.DLL

  • 更改插件的平台设置

  • 安装所有不同版本的VC redist 2005-2019,32位和64位

  • 更新至.net core和.net framework的最新版本

unity无法导入的DLL文件也会显示一条警告消息


在unity中找不到的DLL文件,在dependency walker中,该DLL链接到VS 2015调试运行时(MSVCP140D.DLL)。除非在您的机器上安装了具有C++工作负荷的VisualStudio 2015,否则DLL将不加载。

这是一个在DLL-DLL中分配的bug,不应该编译到调试C++运行时。我建议联系您从中获得此DLL的人,让他们在“Release”配置中重建它。当你在这一点时,你可能也想让他们静态链接CRT,否则你就必须在你试图使用DLL的机器上安装VS 2015 C++可重新分配的包。

我的电脑上甚至不存在开发人员(供应商)计算机上的源文件的路径,而不是你的。有什么不对劲吗?它可能是问题的根源吗?这就是它试图加载它找不到的DLL的地方。@1201程序有什么解决方案吗?出现缺少DLL时要尝试的常见操作。只是要确保你不是为了修复而从第三方网站上获取DLL,不知道这些DLL在哪里,它们不值得信任。天哪,你不是我应得的英雄,而是我需要的英雄♥♥ 我从互联网上抓到visual studio 2015安装程序@2%,我看到它正在安装vc 2015调试运行时,我打开unity,就这样。现在它开始工作了