Позвольте мне перефразировать это: у вас есть промышленное приложение, которое может использоваться в различных отраслях, и единственные вещи, которые отличаются, - это ресурсы (то есть строки, макет, возможно изображения и звуки).Другой код остается прежним .
В этом случае ваша проблема не просто похожа, она фактически идентична локализации.И в качестве такового вы можете использовать Спутниковые сборки .
Теперь вам решать, хотите ли вы упаковывать такие созданные приложения отдельно или распространять одно приложение с обоими проблемными пространствами.
Первое кажется болееРеалистичный сценарий для меня - вам нужно будет решить, какой файл .resx включить в время компиляции (т. е. во время подготовки проекта вы перезаписываете существующие ресурсы ресурсами проблемного пространства, а затем приступаете к компиляции, что должно датьу вас разные варианты применения; я бы также изменил их имена в таком случае).
В последнем случае вам потребуется вручную создать экземпляр ResourceManager
во время выполнения для чтения из допустимой спутниковой сборки - это может быть основано на каком-то файле конфигурации.Это означает больше работы (вам нужно будет на самом деле изменить свой код), и вы в конечном итоге будете распространять оба варианта приложения одновременно, то есть вы не будете контролировать то, как ваши клиенты будут его использовать.С точки зрения бизнеса это может быть немного опасно.
РЕДАКТИРОВАТЬ (Примечание для себя: внимательно прочитайте весь вопрос)
Каким-то образом мне удалось пропустить время установкипротив времени компиляции.Я полагаю, что время компиляции является ответом по той же причине, которую я привел в разделе о переключателях, управляемых конфигурацией: вы упакуете ресурсы, и у вас не будет никакого контроля над тем, как их используют клиенты.Какой-нибудь умник понял бы это, это точно.