Устранение неполадок компиляции библиотеки настраиваемого управления
Это руководство по устранению неполадок помогает решить проблемы при компиляции пользовательских контроллеров в DLLs.
Симптомы
При компиляции пользовательских контроллеров в DLLs могут возникнуть следующие проблемы:
- Настраиваемые элементы управления не отображаются в UI Builder.
- Настраиваемые элементы управления не серийизуются правильно при построении библиотек (DLLs).
Причина
UI Toolkit использует генератор кодов UxmlElement для поддержки серийного кодирования UXML. Однако при компиляции пользовательских контроллеров в DLLs генерируемый код серийного кодирования не включается по умолчанию, что вызывает проблемы с видимостью элементов и серийным кодированием.
Резолюция
Чтобы решить эту проблему, запустите генератор исходного текста UI Toolkit (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 версия, которую вы используете, потому что сгенерированный код может отличаться между версиями.