У нас 259 проектов в нашей стандартной сборке. У нас есть своя система для параллельного строительства, которая очень эффективна. В какой-то момент, однако, у нас есть только одно здание проекта, которое является крупным ресурсным проектом со строковыми таблицами, от которых зависит большинство других проектов. Этот проект занимает целую минуту, чтобы построить. Он состоит в основном из файлов resx, которые являются переводами строк для всех языков, которые мы поддерживаем.
Если я просто создаю базовый язык, проект собирается за 8 секунд, и все зависимости могут быть построены гораздо раньше. Что мне нужно сделать, это создать базовую библиотеку DLL, а затем создать отдельный шаг сборки для создания языковых ресурсов - это отдельные библиотеки DLL в подпапках, названных для культуры и языка. Моей первой мыслью было создать 2 файла проекта.
Мое текущее решение состоит в том, чтобы разделить другие языки в их собственный проект. Я использую то же пространство имен и переименовываю библиотеки ресурсов во всех подпапках после завершения сборки. Это также создает бессмысленную стандартную DLL, которую я должен удалить. Это работает, и моя сборка сейчас быстра, но она не изящна ни в коем случае, и она сложна с точки зрения обучения и обслуживания. Есть ли лучший способ справиться с этим?