Unity引用System.Windows.Forms遇到的一些坑

这两天在做一个unity打开文件选择框的功能。网上找到两种方法,

第一种是调用win32打开对话框,这个挺好,但是有个致命的问题,没办法多选!!!多选的话返回的是根目录的路径,文件名返回不了,找了半天答案,自己改了半天也搞不定。所以就放弃了。

第二种就是引用System.Windows.Forms,这个遇到的坑更多,首先是引用老是报错,然后在unity里运行正常,打包出去不是oops奔溃,就是失效。网上找了半天效果都不是太好,最后自己研究半天终于搞定了,把容易遇到的坑总结下把~

1、关于System.Windows.Forms这个dll,必须引用这个路径下的:X:Unity安装目录EditorDataMonolibmono2.0,其他的统统不行,因为在Unity安装目录下有好多个System.Windows.Forms,必须是这个目录下的!!!!其他目录下的dll或许能运行,但是打包出去会各种报错!!!

2、dll必须得放在工程根目录下,网上别人说都要放在plugins文件夹下,但是我放在里面会报错,运行都运行不了。

3、Player Settings-Optimization的API Compatibilty level必须选择.Net 2.0,否则也会报错。