版本:Unity 6(6000.0)
语言英语
  • C#

ScriptCompilerOptions.RoslynAdditionalFilePaths

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户建议的每个更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您抽出宝贵时间帮助我们提高 Unity 文档的质量。

关闭

取消

public string[] RoslynAdditionalFilePaths;

描述

存储到 Roslyn 分析器其他文件的路径。

可以向项目中添加 Roslyn 分析器/源生成器可以使用的其他文件列表。Unity 编辑器评估扩展名为 .additionalfile 的文件,以测试它们是否适合传递到编译管道。名称与 Filename.[Analyzer Name].additionalfile 格式匹配的文件是合适的,并且 Unity 会将它们传递到编译管道。如果未使用 [Analyzer Name] 后缀命名文件,Unity 仍会导入该文件,但不会将其传递到编译管道。注意:为了让 Unity 正确识别格式,[Analyzer Name] 必须与文件目标分析器的名称匹配,并且 Filename 前缀不能包含 “.” 字符。[Analyzer Name] 后缀区分大小写。

每个已编译的程序集接收一个其他文件列表,该列表基于针对该程序集定义运行的分析器,并通过 [Analyzer Name] 后缀进行筛选。以下示例显示了 Unity 为具有两个分析器之一或两者中的三个程序集传递的附加文件: Assembly1 使用名为 Analyzer1 的分析器 Assembly2 使用名为 Analyzer2 的分析器 Assembly3 同时使用 Analyzer1 和 Analyzer2

如果项目包含四个附加文件,分别名为 FileA.Analyzer1.additionalfile、FileB.Analyzer2.additionalfile、FileC.additionalfile 和 FileD.Analyzer3.additionalfile,则 Unity 会将以下附加文件列表与各自的程序集一起传递

Assembly1:FileA.Analyzer1.additionalfile Assembly2:FileB.Analyzer2.additionalfile Assembly3:FileA.Analyzer1.additionalfile、FileB.Analyzer2.additionalfile

由于 FileC 不使用 [Analyzer Name] 后缀,而 FileD 引用项目中不存在的分析器,因此 Unity 不会将它们传递到编译管道。

分析器可以从分析器上下文中获取添加到程序集编译中的所有附加文件的完整列表。请务必注意,此列表包含添加到编译中的所有附加文件,而不仅限于与分析器名称匹配的文件。

对于上述示例中的 Assembly3,Analyzer1 和 Analyzer2 均会检索正确命名的附加文件,它们引用了这些文件。分析器负责检查是否有它可以用到的数据。