Mac环境下Unity2017+VS调试出现System版本冲突警告MSB3277
解决Mac上Unity 2017 + Visual Studio调试时的MSB3277警告问题
我之前帮不少开发者解决过Unity 2017搭配Visual Studio在Mac上的这个版本冲突警告,给你几个针对性的解决方案,按顺序尝试应该能搞定:
- 确认版本兼容性:Unity 2017对Visual Studio的版本有明确要求,建议使用Visual Studio for Mac 2017(官方配套版本),避免用过高版本的VS导致组件引用不匹配。
- 清理项目缓存与编译文件:
- 关闭Unity和VS,删除Unity项目根目录下的
Library文件夹(这是Unity的缓存目录,重启Unity会自动重建); - 打开VS项目,删除所有项目的
bin和obj文件夹,然后重新生成解决方案。
- 关闭Unity和VS,删除Unity项目根目录下的
- 查看详细冲突日志定位问题:
在Visual Studio里打开Preferences->Projects->Build,把Log verbosity设为Detailed,然后重新编译项目。在输出窗口里就能看到具体是哪些System组件版本冲突,这样可以针对性处理。 - 调整Unity的API兼容级别:
打开Unity的Player Settings(菜单栏Edit->Project Settings->Player),找到Api Compatibility Level,切换为.NET 4.x Equivalent,然后点击Regenerate Project Files(Unity菜单栏Assets->Open C# Project旁的选项),让Unity重新生成适配的VS项目文件。 - 切换到Unity自带的Mono框架:
警告里提到的是系统Mono(/Library/Frameworks/Mono.framework/Versions/5.8.0),可能和Unity自带的Mono版本冲突。在Visual Studio里设置:打开Preferences->Projects-> .NET Runtimes,添加Unity安装目录下的Mono路径(比如/Applications/Unity/Hub/Editor/2017.x.x/Unity.app/Contents/Frameworks/Mono.framework/Versions/Current),并设为默认运行时。 - 重置VS与Unity的项目关联:
在Visual Studio里点击菜单栏Tools->Unity->Reset Unity Project,让VS重新读取Unity的项目配置,修复引用关联问题。
内容的提问来源于stack exchange,提问作者Marcin Ł.
相关产品推荐
相关产品推荐

