You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 2017.3.0f3编译UWP项目触发NullReferenceException错误

解决Unity 2017.3.0f3编译UWP时的NullReferenceException问题

你的推测完全正确——这个空引用错误确实和VS2017缺失UWP相关的C#编译组件有直接关系,当然也有其他几个可能的修复方向,我给你整理了具体的排查步骤:

1. 先补全VS2017的UWP核心组件

打开Visual Studio Installer,找到你的VS2017实例点击「修改」:

  • 务必勾选**「通用Windows平台开发」**这个工作负载
  • 展开该工作负载的「可选组件」,一定要选这两个:
    • C#和Visual Basic通用Windows平台工具(这是Unity调用UWP C#编译器的关键依赖)
    • 对应你项目目标版本的Windows 10 SDK(Unity 2017.3推荐用10.0.15063.0或更高版本,尽量选Unity编辑器中提示的SDK版本)
      安装完成后重启VS和Unity,再尝试构建。

2. 确认Unity的外部工具配置正确

打开Unity编辑器,走「Edit」→「Preferences」→「External Tools」路径:

  • 确保「External Script Editor」选的是你安装的VS2017版本
  • 检查「Windows Store Apps」下的「Visual Studio Version」是否正确指向VS2017,没选对的话手动指定

3. 其他兜底修复方案

如果组件都装对了还是报错,可以试试这些操作:

  • 清理Unity编译缓存:删掉项目根目录的Library、Temp、Obj文件夹,重启Unity重新导入项目,很多编译异常都是缓存脏了导致的
  • 重置VS用户数据:打开VS2017的开发者命令提示符,输入devenv /resetuserdata,重置后重启VS,能解决一些工具链的隐性配置问题
  • 检查脚本的预编译分支:编辑器运行正常不代表UWP分支没有问题,打开「Assets」→「Open C# Project」在VS里检查所有脚本,尤其是带#if UNITY_WSA这类预编译指令的代码,确保没有语法错误或空引用隐患

额外提醒:Unity 2017.3.x对VS2017的兼容性要求比较苛刻,SDK版本和工具链必须完全匹配,别混用过高或过低的SDK,否则也会触发这类编译链的空引用错误。

内容的提问来源于stack exchange,提问作者Juhana Pietari Lehtiniemi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:52:25