惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
TaoSecurity Blog
TaoSecurity Blog
H
Heimdal Security Blog
Help Net Security
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
V2EX - 技术
V2EX - 技术
博客园 - 【当耐特】
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
S
Schneier on Security
S
SegmentFault 最新的问题
Google Online Security Blog
Google Online Security Blog
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
IT之家
IT之家
Project Zero
Project Zero
博客园 - 司徒正美
P
Privacy International News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Jina AI
Jina AI
Security Latest
Security Latest
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
NISL@THU
NISL@THU
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
L
Lohrmann on Cybersecurity

博客园 - showonce

使用群晖的SynologyDrive同步本地文件到NAS时如何设置过滤某些文件夹的方法 群晖通过 acme.sh 申请 ZeroSSL 泛域名证书(适配 80 端口封锁)+ 自动续期同步完整步骤 关于投影机通过TCP网络控制开关机的一些设置 关于电脑按下开机按钮或重启按钮后,电脑没有进入到windows系统桌面,而是进入到蓝屏恢复界面的解决方法 申请个人版的SSL证书(免费的) 第一次接触json所需要的知识总结,用在C#中 Unity开发时,在visual studio编辑器中没有中文注释的解决办法 关于Unity的Android工程,写文件的问题 群晖系统,为域名添加证书,以及怎么申请免费的证书 Unity插件DOTween中的中的Ease 首次在macbook使用unity开发遇到的一些列问题 关于使用云服务器做广域网通讯测试的资料整理 二进制、六进制、八进制、十进制、十六进制等之间的转换规则 Unity中使用PersistentDataPath加载文件 C#进制转换 在VS里编辑unity代码调用系统方法不显示中文注释或英文注释 打开本地【C】【D】【E】驱动器时候提示 X:\ 找不到应用程序 - showonce windows系统开机启动一个程序的方法-总结 vlc的几种播放状态
Unity关于引用.Net或其他C# dll的问题。(我是用的版本是2018.3)
showonce · 2022-10-13 · via 博客园 - showonce

 首先,因为我是用到了.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

 完成。

记住,要使用.Net 4.x   

打包测试,没问题。

  • 最后再说一点,很坑。就是如果最开始先设置的是 .Net 4.x ,然后再新建的csc.rsp文件和添加库文件。此时还没编译就会报错

     我猜测可能是要先添加csc.rsp文件与和在里面添加-r:XXX.XXX.XXX.dll,然后再切换到.Net 4.x  Unity编辑器会重新去加载csc这里文件里的库的配置信息。如果最开始就切换到了4.x再重新切换一下就好了。