[[Обновление .csproj файлов|Вернуться назад]] Если Unity перестаёт автоматически регeнerировать `.csproj`/`.sln`, есть несколько проверенных способов «заставить» её это сделать — от самых простых до автоматизируемых в Editor-скриптах. Ниже перечислены варианты; выбирайте тот, который удобнее в Вашем рабочем процессе. > Перечислены те способы, о которых я знаю лично и могу подтвердить работоспособность. --- ### 1. Кнопка в настройках Unity 1. **Edit → Preferences… → External Tools** 2. Нажмите **Regenerate project files** (в версиях до 2020 года пункт назывался _Generate all .csproj files_). 3. Unity пересоздаст все `.csproj` и `.sln`, учитывая текущие Assembly Definition Files, плагины и пакеты. > **Производительность:** операция не запускает полную переимпорт-компиляцию проекта, а только пересчитывает ссылки, поэтому выполняется за секунды --- ### 2. Быстрая «перезагрузка» через правку любого скрипта - Любое сохранение `.cs` в **Assets** обычно триггерит генерацию. - Если этого не происходит, проверьте: - отключён ли **Auto Refresh** (_Preferences → General_); - нет ли ошибок компиляции, блокирующих процесс (см. Console). Подробнее о [[Automatically refresh assets in Unity]] --- ### 3. Принудительное обновление через фокус окна - Удалите вручную все `.csproj`, `.sln` и `.csproj.DotSettings*` в корне проекта. - Вернитесь в Unity — при первом получении фокуса Editor пересоздаст файлы. - Подходит, когда нужно «обнулить» настройки Rider/VS. --- ### 4. Editor-скрипт для команды в меню Подробнее о [[CodeEditor.CurrentEditor.SyncAll()]] ```csharp #if UNITY_EDITOR using UnityEditor; public static class CsprojTools { [MenuItem("Tools/Regenerate .csproj")] public static void Regenerate() { // Метод из внутреннего API Unity CodeEditor.CurrentEditor.SyncAll(); AssetDatabase.Refresh(); // Обновление базы данных ассетов Unity } } #endif ``` - После компиляции появится пункт **Tools → Regenerate .csproj**. - Можно вызывать через CLI: ```bash unity -quit -batchmode -projectPath "<path>" -executeMethod CsprojTools.Regenerate ``` Полезно в CI/CD.