包含此页的版本:
不含此页的版本:
本故障排除指南可帮助你解决将自定义控件编译为 DLL 时出现的问题。
将自定义控件编译为 DLL 时,可能会遇到以下问题:
UI Toolkit 使用 UxmlElement 代码生成器来支持 UXML 序列化。但是,将自定义控件编译为 DLL 时,默认情况下不包含生成的序列化代码,从而导致元素可见性和序列化问题。
若要解决此问题,请运行 UI 工具包源生成器 (Unity.UIToolkit.SourceGenerator.dll) 在 DLL 编译过程中。
在 Unity 安装中找到源生成器文件。它通常位于:<Unity Installation Path>\Data\Tools\Unity.SourceGenerators\Unity.UIToolkit.SourceGenerator.dll.
将源生成器添加为分析器,在库项目的.csproj文件<ItemGroup>:
<ItemGroup>
<Analyzer Include="path\to\Unity.UIToolkit.SourceGenerator.dll" />
</ItemGroup>
像往常一样编译您的库。这将触发源生成器,该生成器会为自定义控件生成所需的 UxmlSerializedData 类。
提示:始终根据您正在使用的 Unity 版本重新生成您的库,因为生成的代码可能因版本而异。