将 DLL 添加到资产文件夹时,无法运行引用重写器,出现命令错误和统一错误

2024-03-29

当我将 DAI.dll 添加到资产文件夹时,我遇到了此错误。 当我尝试构建时会发生此错误。

UnityException:无法使用命令运行引用重写器 --target="Temp\StagingArea\DAI.dll" --additionalreferences="Temp\StagingArea","C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0 .17134.0\Facade","C:\Program Files (x86)\Windows Kits\10\References\10.0.17134.0\Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract\1.0.0.0","C:\Program Files (x86) )\Windows Kits\10\References\10.0.17134.0\Windows.ApplicationModel.Calls.CallsVoipContract\3.0.0.0","C:\Program Files (x86)\Windows Kits\10\References\10.0.17134.0\Windows.ApplicationModel .SocialInfo.SocialInfoContract\2.0.0.0","C:\Program Files (x86)\Windows Kits\10\References.....(后面还有更多这样的内容)......

我使用的是 Visual Studio 2017 版本 15.7.3 和 Unity 版本 2017.2.0b7

我已经将DLL添加到unity的assets文件夹中。

这些是我的播放器和构建设置。


您需要统一更改设置(下图中的设置示例):

  1. 在 Unity 内的项目中找到您的 dll 文件。
  2. 单击它一次以突出显示它。
  3. 您将在检查器中看到 dll 选项
  4. 通常对于 HoloLens,您只需选择“WSAPlayer”
  5. 单击“应用”保存设置。
  6. Rebuild enter image description here

Warnings

  1. 有时,您尝试包含的 dll 引用了其他未包含的内容,这就是它无法工作的原因,但错误将与您得到的错误不同。
  2. 有时您可能需要导入旧版本的 DLL。例如,我尝试导入 Newtonsoft.Json 11.0.2,但 11.0.2 引用的核心框架比 Unity 生成的解决方案更新。有办法更新它,但我不想每次都处理它,所以我发现我可以使用的最高版本是9.0.1(我不得不跳过11.0.2、11.0.1, 10.0.3、10.0.2、10.0.1)。
  3. 另外,请记住您应该包含 netstandard dll。
  4. 我通常手头有 UWP 测试项目来尝试用它来测试我的 dll。如果它在那里工作,那么这是一个很好的第一步,假设它没有依赖项,那么在将其导入到 Unity 后它可能会工作。

最后结果解决方法

  1. 您可以注释引用您的dll的代码
  2. 从unity构建项目,无需dll
  3. 在生成的UWP解决方案中,您可以正常添加dll,甚至使用nuget安装您想要的dll
  4. 注释你的代码。
  5. 构建您的解决方案,然后部署到您的设备或创建一个包以将其部署到设备或商店。
  6. 作为一种解决方法,这很有效。
  7. 这样做的一个问题是,如果删除了解决方案,则每次生成解决方案时都需要导入 dll 或安装 nuget。这很烦人,如果您与团队合作,当他们收到项目并认为它不起作用时,可能会感到困惑。这意味着您需要做更多的工作来沟通和部署。
  8. 第二期,Unity 正在从 .NET 后端转向 IL2CPP(我认为您不能在 CPP 生成的项目中执行此操作)。这意味着这是一个短期解决方法。

考虑升级到 Unity 2018.2

  1. 使用 .NET 4.X 而不是 .NET 3.4 等效版本使我的引用和与引用相关的问题以及使用更现代的 C# 代码的工作变得更轻松。
  2. 如果您安装 Unity Hub,则可以安装它并仍然保留 2017 版本。这将最大限度地降低考虑更新的风险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 DLL 添加到资产文件夹时,无法运行引用重写器,出现命令错误和统一错误 的相关文章

  • 多个源文件中包含包含“const”的头文件

    Why does not包含定义的头文件const并被多个源文件包含会产生编译错误multiple definition const in header file h const int num 5 int x Error Multiple
  • 无法使用 ASP.NET Core 从 JWT 令牌获取声明

    我正在尝试使用 ASP NET Core 实现 JWT 持有者身份验证的非常简单的实现 我从控制器返回的响应有点像这样 var identity new ClaimsIdentity identity AddClaim new Claim
  • 错误 LNK2001:无法解析的外部符号 __CxxFrameHandler3

    我正在将 Qt 从 VS 2013 迁移到 Qt 5 10 1 到 VS 2015 出现以下多个链接错误 error LNK2001 unresolved external symbol CxxFrameHandler3 error LNK
  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • c#Registry to XML无效字符问题

    我在尝试从注册表创建 XML 文件时遇到问题 在我的笔记本电脑 W7 64b 上它工作正常 生成了 xml 文件 但在另一台计算机 Xp 32b 上抛出异常 System ArgumentException 十六进制值 0x00 是无效字符
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 为什么std::string在发布时是标准布局类型,但在调试时不是标准布局类型?

    include
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • Visual Studio 2012 - 数据库发布向导已停止?

    我正在使用 VS 2012 和 SQL Server 2008 刚刚注意到服务器资源管理器中缺少 发布到提供商 选项 据此 数据库发布向导已停止使用 http forums asp net post 5122271 aspx http fo
  • 如何使用 Caliburn.Micro MVVM 将焦点设置到控件

    我有一个表单 我想在发生某些用户操作时将焦点设置到文本框 我知道 MVVM 的处理方式是绑定到 VM 属性 但是 TextBox 没有允许这种情况发生的属性 从虚拟机设置焦点的最佳方法是什么 我创建了一个 IResult 实现 可以很好地实
  • Parallel.For 和 Break() 误解?

    我正在研究 For 循环中的并行性中断 看完之后this http tipsandtricks runicsoft com CSharp ParallelClass html and this http reedcopsey com 201
  • 无论表单上的焦点控件如何,如何捕获 Keys.F1?

    我使用了 KeyDown 事件和一些简单的代码 例如if e KeyCode Keys F1 捕获在表单上按下 F1 但如果表单上有一些文本框 或者表单上有一些带有 Dock Fill 的电子表格 则上面的代码将毫无用处并且不执行任何操作
  • gcc 中的“假设”子句

    gcc 最新版本 4 8 4 9 是否有类似于以下的 假设 子句 assume 内置icc支持吗 例如 assume n 8 0 从 gcc 4 8 2 开始 gcc 中没有 assume 的等效项 我不知道为什么 这会非常有用 马夫索建议
  • #define, #ifdef #undef #endif

    我有以下代码 define PROC ADD void main void while 1 ifdef PROC ADD Do this code here then undefined it to run the code in the
  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • 构建成功时,Intellisense 不断显示错误 Visual Studio 2015

    因此 我正在开发一个 Xamarin 项目 突然 Visual studio 2015 开始崩溃 它几乎在所有内容下都显示错误红线 例如 InitializeComponent 在每个页面中都有红线 项目构建和运行没有错误 错误仅来自 In
  • 当另一个进程使用 std::fstream 写入文件时从文件读取[重复]

    这个问题在这里已经有答案了 我需要从文件中逐行读取 它是由 std getline 完成的 另一个进程的问题是一直向其附加数据 然后我需要读取新行 例如 文件一开始包含10行 我的程序读取了10行 那么我的程序应该等待 过了一会儿 另一个进
  • C++20 范围太多 |运营商?

    我在这段代码中使用 g 10 2 有谁知道为什么我最后收到编译器错误std views reverse on results3 include

随机推荐