【问题标题】:how to use .Net 4.6.1 in unity?如何统一使用.Net 4.6.1?
【发布时间】:2016-08-26 11:09:46
【问题描述】:

我有 4 个相互调用的项目,最终的 C# 项目将数组传递给统一引擎。这就是我所需要的。 项目层次如下:c++(用于算法)-> wrapper CRL->C# dll(接收'不安全'代码->统一引擎中的c#类。我认为这不是最有效的方法这样做,但其他一切都失败了。

我尝试了两件事:

1) 设置框架 4.6.1 .NET 然后一切都在 Visual Studio 中运行,但是当我将它统一添加时,它会自动将框架 4.6.1 更改为 3.5

2) 将框架设置为较低版本 (2.0)
然后我收到以下错误:

严重性代码描述项目文件行抑制状态 警告 无法解析主要参考“CppWrapper” 因为它对 .NET Framework 有间接依赖 程序集“System.Xml,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089" 具有更高版本 "4.0.0.0" 比当前目标中的版本“2.0.0.0” 框架。 OurFirstDL。

我也将 CppWrapper 设置为 2.0,但错误是一样的。

有解决办法吗?

顺便说一句,也许还有其他方法可以做我想做的事。我只想将两个数组从 c++ 拉到统一引擎中。

谢谢!

【问题讨论】:

  • 有很多变通方法。其中之一是将 cpp 代码中的序列化数组保存到 unity3d 应用程序可访问的某个位置,然后从那里读取。
  • 你能给我更详细的解释吗?实际上,这对我来说是个大问题。
  • stackoverflow.com/questions/26527317/… 你的意思是这种技术吗?
  • 这只是 10 000 个整数数组
  • 您可以将数组保存到二进制或文本 (JSON?) 文件中,然后在 Unity3D 应用程序中检查文件是否存在 - 如果存在则从那里读取。我不确定我还能解释什么。

标签: c# c++ .net unity3d


【解决方案1】:

您可以使用程序集绑定工具来确定到底发生了什么。自从我使用它以来已经有一段时间了...... Fusion logger。

通常在这些情况下会弹出一些东西。 可能是 cpp 方面的某些特定问题导致了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 2017-07-26
    相关资源
    最近更新 更多