Дополнительная сателлитная сборка без перекомпиляции основной сборки - PullRequest
0 голосов
/ 16 мая 2019

У меня уже есть локализованная программа WinForms с четырьмя языками.Он состоит из одного EXE и нескольких DLL.Все проекты C # содержатся в одном решении.Сателлитные сборки генерируются автоматически из локализованных файлов ресурсов, например, Strings.fr.resx или MyForm.it.resx .

Исходный код хранится в Subversion,централизованные (сервер сборки) сгенерированные двоичные файлы в Artifactory.Maven используется для разрешения зависимостей.Соответствующий исходный код для двоичных файлов (снимок) также хранится в Artifactory.Таким образом, на двоичные файлы (DLL, EXE) и соответствующий исходный код можно ссылаться из других проектов.

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

Идея заключается в создании дополнительного решения, которое зависит (Maven) от исходной версии программы.Итак, я получаю двоичные файлы и исходный код.Затем я могу создать инструментальные проекты для каждого исходного проекта для создания спутниковых сборок, например, используя пакетный файл.Это будет работать для проектов с локализуемым текстом и другими вещами в файлах ресурсов.

Но как насчет элементов управления и форм.Разные языки могут иметь разные итоговые схемы управления, разрывы строк, изменения положения, размеры и т. Д. Это не только перевод текста.Таким образом, дизайнер WinForms был бы очень полезен.Кто-нибудь знает хороший способ создания спутниковых сборок, содержащих элементы управления?

Дополнительные инструменты (например, Sisulizer) невозможны.Исходные двоичные файлы имеют строгое имя, а ключ доступен только на серверах сборки.Таким образом, новая спутниковая сборка должна иметь строгое имя и с этим ключом.

...