Как определить, работает ли он в редакторе или сборке для выпуска, пока выполняется `InitializeOnLoad`? - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужно настроить конвейер сборки проекта Unity.

Некоторые сборки создаются из некоторых проектов, созданных с помощью. NET Core SDK (для netstandard2.0 и для ссылки UnityEngine.dll), и мне нужно убедиться, что эти проекты перекомпилированы после редактирования.

Текущее решение заключается в использовании InitializeOnLoadAttribute для вызова метода, который выполняет:

  1. Выполнить команду dotnet publish для сгенерируйте сборки с их ссылками.
  2. Рассчитайте правильный список обновленных файлов dll и pdb (по сравнению с алгоритмом ha sh).
  3. Скопируйте их в Unity проекты и вызов AssetsDatabase.Refresh().

Но мне нужно запустить команду publi sh с конфигурацией Debug в редакторе для отладки и с конфигурацией Release для включения оптимизации и удаления pdb файлы при сборке для выпуска.

Как определить, какую конфигурацию следует использовать внутри класса с [InitializeOnLoad]?

Или любым лучшим способом подключить строительную площадку Элин?

1 Ответ

1 голос
/ 28 февраля 2020

Вы можете использовать OnPreprocessBuild, чтобы получать уведомления до начала сборки.

https://docs.unity3d.com/ScriptReference/Build.IPreprocessBuildWithReport.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...