You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:Unity项目在Rider中重建解决方案时出现/langversion '9.0'无效选项错误

解决Odin Inspector与Rider重建解决方案的/langversion报错问题

我之前也碰到过一模一样的情况,Unity编辑器构建正常,但Rider里重建解决方案就报语言版本的错——这是因为Odin的两个子项目硬编码了C# 9.0的语言版本,而你的Unity 2021.2搭配Rider 2021.3环境里的编译器不支持这个版本导致的。给你几个亲测有效的解决办法:

方法一:手动修改Odin项目的.csproj文件

  • 打开你的Unity项目,找到Packages/com.odininspector/Editor目录(如果是通过Package Manager安装的Odin,路径大致如此)。
  • 找到Sirenix.OdinInspector.CompatibilityLayer.csprojSirenix.OdinInspector.UnityMathematics.csproj两个文件,用记事本或Rider打开。
  • 在文件中找到这行代码:
    <LangVersion>9.0</LangVersion>
    
  • 9.0改成Default或者5,修改后如下:
    <LangVersion>Default</LangVersion>
    
  • 保存文件,回到Rider重新重建解决方案即可。

方法二:在Rider中直接修改项目语言版本设置

  • 在Rider的解决方案资源管理器里,找到Packages节点下的Sirenix.OdinInspector.CompatibilityLayerSirenix.OdinInspector.UnityMathematics两个项目。
  • 右键点击其中一个项目,选择Properties(属性)。
  • 左侧菜单切换到Build -> General,找到Language version选项,从下拉菜单里选Default或者5
  • 对另一个项目重复同样操作,保存设置后重新重建解决方案。

方法三:更新Odin Inspector到最新版本

这个问题在Odin的后续版本中已经被修复了,如果你方便的话,可以直接在Unity的Package Manager里把Odin Inspector更新到3.0.12之后的版本,新版本会自动适配Unity 2021的编译器环境,不用手动修改配置。

内容的提问来源于stack exchange,提问作者Searle

火山引擎 最新活动