Проблемы с fileDesignMode начиная с версии 7.15.0
При включении fileDesignMode и выполнении всех настроек сайт не компилируется из конфигурации из студии так же не всегда компилируется нормально, ругается на все схемы исходного кода ввиду того, что классы и члены классов в них дублируются в "Terrasoft.WebApp\Terrasoft.Configuration\Autogenerated\Src\" и "Terrasoft.WebApp\Terrasoft.Configuration\Pcg".
Настройки выполнены согласно инструкции. Проверил. В версии инструкции для 7.15 ничего нового не появилось.
Одновременно с сайтами 7.15.x есть сайты предыдущих версий и с ними подобных проблем не было и нет.
Нравится
Сергей говорил, что проблема в разных мейнтейнерах у редактируемых пакетов. И в том, что после изменения мейнтейнера в системной настройке нужно обязательно чистить редис, так как из конфигурации пакет и схемы уже после перезахода в систему можно редактировать, а вот компиляция не выполняется, если не очистить редис.
Может помочь удаление дублирующихся файлов из папки Autogenerated.
Николай Кузьмин,
И что их теперь после каждой компиляции/публикации удалять? да и кроме того на некоторых сайтах более 10 пакетов. Как результат более 200 ошибок. Вы правда предлагаете перед каждой компиляцией выискивать в Автодженерейтед эти файлы и удалять?
Заставный Сергей Викторович,
А что на это отвечает служба поддержки Террасофт?
Алла Савельева,
Для начала решил здесь спросить, может кто уже в курсе что делать. Но по видимому придется в поддержку писать.
Заставный Сергей Викторович,
По таким проблемам лучше сразу писать в поддержку, особенно, если речь идет о новой версии.
Сергей говорил, что проблема в разных мейнтейнерах у редактируемых пакетов. И в том, что после изменения мейнтейнера в системной настройке нужно обязательно чистить редис, так как из конфигурации пакет и схемы уже после перезахода в систему можно редактировать, а вот компиляция не выполняется, если не очистить редис.
Компиляция в браузере решает проблему.
Дублирование файлов *.cs происходит для схем типа "Исходный код" после переключения из режима разработки в файловой системе в режим разработки в БД (т.е. при установке fileDesignMode = false).
Причина: одинаковые файлы в папках \Autogenerated\Src и в \Pkg.
Чтобы воспроизвести это явление, необходимо, чтобы настройка defPackagesWorkingCopyPath в файле ConnectionStrings.config указывала на папку \Terrasoft.WebApp\Terrasoft.Configuration\Pkg. Кстати, данное явление возможно только в случае подключения к пакету репозитория SVN.
В режиме разработки в БД в папке Pkg не должно быть каталогов с пользовательскими пакетами. В этом режиме сгенерированные *.cs файлы для схем "Исходный код" автоматически складываются в папку \Autogenerated\Src, а папка Pkg используется только для хранения файлового контента.
Решение: в режиме fileDesignMode = false необходимо сделать так, чтобы настройка defPackagesWorkingCopyPath указывала НЕ на папку Pkg. Например, можно установить:
defPackagesWorkingCopyPath = "\Terrasoft.WebApp\Terrasoft.Configuration\PkgForDBMode".
После выполнени этого изменения необходимо зафиксировать пакет в хранилище, убедиться в присутствии его папок и файлов в новом пути и затем удалить папку вашего пакета из каталога Pkg. После удаления папкт пакета из каталога Pkg система будет компилироваться штатно.
Это решение неоднократно проверено на версиях 7.15.х и выше.