网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Unity关于引用.Net或其他C# dll的问题。(我是用的版本是2018.3)

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名网站空间、营销软件、网站建设、武都网站维护、网站推广。

首先,因为我是用到了.Net WinForm中的中的一个System.Windows.WinForms中的类(OpenFileDialog)就是打开就是选择资源的一个对话框。ALT + Enter可以直接在VS中引用,但是在Unity 编辑器下就会提示如下提示

但是这还好,最起码最终还是可以弹出资源对话框的。

如下

一切正常,可以选中资源文件。

有一个方法可以不弹出这个提示框。找到System.Windows.WinForms.dll动态库,把这个库文件放在工程文件的根目录,就不会有这个提示了。

以上就是在Unity Editer下的测试结果,看是一切正常了。

下面开始打包Windows程序包

打包一切正常,运行一切正常,执行....................没有任何反应,在程序里加入try catch发现报错了,错误信息:Operation is not supported on this platform.

毙了狗啊。。。。。

后面在网上查了好久,发现有两种方法,我整理了一下:

  1. 找到System.Windows.WinForms.dll库文件,把他复制到Unity的安装目录(我的目录为:Editor\2018.3.0f2\Editor\Data\Mono\lib\mono\2.0\)这里面可能已经存在一个相同的库文件了,可以把它备份一份出来后覆盖他。

Unity编辑器设置.Net Standard 2.0

打包。。。。。打包没问题,但是还是会有(Operation is not supported on this platform.)这个异常提示

  2. 在Unity的资源根目录创建一个 plugins的文件夹,将System.Windows.WinForms.dll库文件复制到这个文件夹中,其实我到这一步编辑器就已经爆红了。。。。。。显然也不正确。

下面说一下打包后成功的方法

其实官方文档中有这一部分介绍 Unity官方解释:Unity - 手动:引用其他类库程序集 (unity3d.com)

大概意思就是:Unity使用.Net 4.x版本时会引用一小部分的程序集

如:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Runtime.Serialization.dll
  • System.Xml.dll
  • System.Xml.Linq.dll

但是我们使用的不在这里,虽然在VS中可以直接ALT+Enter引用,但是Unity这边找不到。如果想让Unity找到并链接到这个dll库,就需要告诉Unity你要链接哪个DLL库。

csc.rsp 添加一个这个文件和DLL库文件就可以解决。

详细步骤,其实很简单,就2步。

第1步:在Assets目录下创建一个csc.rsp文件

第2步:在文件中输入

-r:System.Windows.WinForms.dll

当前文章:Unity关于引用.Net或其他C# dll的问题。(我是用的版本是2018.3)
转载源于:http://bjjierui.cn/article/dsoidis.html

其他资讯