鍍金池/ 問答/C#  Unity 3D  Office/ 為什么Unity3d不支持System.Numerics

為什么Unity3d不支持System.Numerics

1、問題:

平臺:Unity3d 2017.3.1 語言:C#
因為需要引用System.Numerics,但Unity的解決方案項目不支持直接引用dll
所以我從C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6
下找到System.Numerics.dll導(dǎo)入到Assets中,出現(xiàn)了一個報錯。(我已在Edit - Project Settings - Player - Other Settings將Script Runtime Version選擇為.Net 4.6版本)

2、代碼:

clipboard.png
可以看見System.Numerics.BigInteger類可以運轉(zhuǎn),但是這個報錯的dll,似乎會影響到我其他代碼。

3、報錯信息:

clipboard.png

4、嘗試過哪些方法:

我嘗試過使用.Net 3.5下的System.Numerics.dll放至Assets中。
目前還沒有解決。

5、感謝

C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFramework

在這個目錄下可以找到System.Numerics,有興趣的可以導(dǎo)入到Unity,尋找問題所在。

回答
編輯回答
孤酒

可以從<Unity安裝目錄>\Editor\Data\MonoBleedingEdge\lib\mono\4.5中獲取System.Numerics.dll和SystemNumerics.Vectors.dll兩個文件。

將它們粘貼到Unity Asset文件夾中。

貌似這樣就解決了,原因估計是Unity3d不能直接支持.Net Framework的dll吧,這些目錄下的Dll是由Mono Developer開發(fā)的。

附加步驟:

創(chuàng)建兩個文本文件,mcs.rsp and csc.rsp,將下列文字都放入其中。

-r:System.Numerics.dll?-r:System.Numerics.Vectors.dll
2018年9月1日 09:34