.NET安装后dotnet run报错,Unity与VSCode脚本开发遇自动补全问题
问题排查与解决方案
一、修复dotnet run编译错误(指向Python目录下.cs文件)
- 检查系统环境变量:
- 打开系统环境变量设置,查找
CLR_DEFAULT_PROVIDER_PATH或MSBuildSDKsPath变量,如果值包含Python安装路径(如C:\PythonXX\...),删除该变量或修改为正确的.NET SDK路径(示例:C:\Program Files\dotnet\sdk\7.0.400\Sdks)。
- 打开系统环境变量设置,查找
- 清理异常项目配置文件:
- 检查当前控制台项目的根目录及上级目录,若存在
Directory.Build.props或Directory.Build.targets文件,打开查看是否引入了Python相关编译路径,删除或注释错误配置。
- 检查当前控制台项目的根目录及上级目录,若存在
- 重置.NET缓存:
- 执行命令
dotnet nuget locals all --clear清除本地缓存,重新运行dotnet run测试。
- 执行命令
二、解决Unity脚本自动补全与OnTriggerEnter功能失效
- 配置Unity外部编辑器:
- 打开Unity,进入
Edit > Preferences > External Tools,将External Script Editor设为VSCode,点击Regenerate project files重新生成项目配置文件。
- 打开Unity,进入
- 调整VSCode C#扩展设置:
- 打开VSCode设置(快捷键
Ctrl+,),搜索omnisharp.useModernNet,设置为false(Unity依赖.NET Framework,而非现代.NET)。
- 打开VSCode设置(快捷键
- 修复
OnTriggerEnter功能:- 确认挂载脚本的预制体的Collider组件已勾选
Is Trigger。 - 碰撞双方至少一个对象带有
Rigidbody组件(静态对象可勾选Is Kinematic)。 - 检查函数签名是否正确:必须是
private void OnTriggerEnter(Collider other)(2D物理对应OnTriggerEnter2D(Collider2D other)),参数类型和函数名不能写错。
- 确认挂载脚本的预制体的Collider组件已勾选
内容的提问来源于stack exchange,提问作者Barry Allen
相关产品推荐
相关产品推荐

