При включении fileDesignMode и выполнении всех настроек сайт не компилируется из конфигурации из студии так же не всегда компилируется нормально, ругается на все схемы исходного кода ввиду того, что классы и члены классов в них дублируются в "Terrasoft.WebApp\Terrasoft.Configuration\Autogenerated\Src\" и "Terrasoft.WebApp\Terrasoft.Configuration\Pcg".

Настройки выполнены согласно инструкции. Проверил. В версии инструкции для 7.15 ничего нового не появилось.

Одновременно с сайтами 7.15.x есть сайты предыдущих версий и с ними подобных проблем не было и нет.

Нравится

9 комментариев
Лучший ответ

Сергей говорил, что проблема в разных мейнтейнерах у редактируемых пакетов. И в том, что после изменения мейнтейнера в системной настройке нужно обязательно чистить редис, так как из конфигурации пакет и схемы уже после перезахода в систему можно редактировать, а вот компиляция не выполняется, если не очистить редис.

Может помочь удаление дублирующихся файлов из папки 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.х и выше.

Показать все комментарии