1、问题:
平台:Unity3d 2017.3.1 语言:C#
因为需要引用System.Numerics,但Unity的解决方案项目不支持直接引用dll
所以我从C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6
下找到System.Numerics.dll导入到Assets中,出现了一个报错。(我已在Edit - Project Settings - Player - Other Settings将Script Runtime Version选择为.Net 4.6版本)
2、代码:
可以看见System.Numerics.BigInteger类可以运转,但是这个报错的dll,似乎会影响到我其他代码。
3、报错信息:
4、尝试过哪些方法:
我尝试过使用.Net 3.5下的System.Numerics.dll放至Assets中。
目前还没有解决。
5、感谢
C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFramework
在这个目录下可以找到System.Numerics,有兴趣的可以导入到Unity,寻找问题所在。
可以从<Unity安装目录>\Editor\Data\MonoBleedingEdge\lib\mono\4.5中获取System.Numerics.dll和SystemNumerics.Vectors.dll两个文件。
将它们粘贴到Unity Asset文件夹中。
貌似这样就解决了,原因估计是Unity3d不能直接支持.Net Framework的dll吧,这些目录下的Dll是由Mono Developer开发的。
附加步骤:
创建两个文本文件,mcs.rsp and csc.rsp,将下列文字都放入其中。