如何更改Unity 2017.3引用的mscorlib版本至4.0.0.0?
老兄,Unity 2017.3默认绑定的是基于.NET Framework 3.5的运行时,所以才会一直引用mscorlib 2.0.0.0。要升级到4.0.0.0其实有明确的操作步骤,但得留意版本兼容性的坑,我给你拆解清楚:
第一步:调整Unity的API兼容性级别
这是最核心的一步,Unity正是通过这个设置来决定使用哪个版本的mscorlib:
- 打开你的Unity项目,点击顶部菜单栏的
Edit > Project Settings > Player - 在右侧Inspector面板里找到Other Settings区块,展开它
- 找到Api Compatibility Level选项,把默认的
.NET 2.0或.NET 2.0 Subset切换成.NET 4.6(Unity 2017.3对这个版本的支持已经稳定,对应mscorlib 4.0.0.0) - 点击Apply保存设置,Unity会自动重新生成项目的引用依赖
第二步:验证并手动修复引用(如果自动更新失效)
大部分情况下,第一步做完VS里的引用就自动更新了,但如果没生效,可以手动调整:
- 先关闭当前的Visual Studio解决方案
- 回到Unity,点击
Assets > Open C# Project重新打开VS - 要是还是没看到mscorlib 4.0.0.0,右键项目 →
Add > Reference,在弹出的引用管理器里找到mscorlib,选择4.0.0.0版本添加,同时移除旧的2.0.0.0引用
必看的注意事项
- 兼容性风险:升级到.NET 4.6后,部分.NET 2.0专属的旧API可能会被标记为过时,还有一些第三方插件可能没适配高版本,建议先备份项目再操作,之后逐步测试核心功能
- 插件适配:如果项目里用了依赖.NET 2.0的插件,得去插件官网找对应的更新版本,不然可能会出现编译错误或者运行崩溃
- 编译错误处理:如果遇到报错,先检查是不是用了.NET 2.0不支持但.NET 4.6新增的API,或者反过来——有些API在高版本里有行为变动,需要微调代码
内容的提问来源于stack exchange,提问作者JohnTheWizard
相关产品推荐
相关产品推荐

