У меня есть следующие нестандартные настройки (VS2008, .NET 3.5 SP1):
Существует основной веб-проект, который называется MainSite, и существует несколько "подключаемых" веб-проектов с разными именами.
При сборке этих плагинов у меня есть пользовательский шаг сборки, который вызывает aspnet_compiler.exe
и aspnet_merge.exe
. В результате получаются два файла .DLL - имя_плагина .dll и имя_плагина _deploy.dll. Первый содержит классы codebehind, второй содержит код, сгенерированный из файлов .ascx.
Эти плагины .DLL затем копируются в папку /MainSite/bin/Plugins/
. Во время выполнения (запуска приложения) приложение MainSite просматривает эту папку и динамически загружает туда все файлы .DLL.
Все мои формы находятся в плагинах, в файлах .ascx. Основное приложение - это просто скелет, который загружает эти пользовательские элементы управления .ascx по мере необходимости.
И теперь возникает необходимость в локализации. В идеале я хотел бы иметь следующее:
- При создании ресурсов в Visual Studio для каждой формы должен быть отдельный файл ресурсов (файл .ascx), чтобы людям было легче локализовать формы параллельно.
- Хороший метод
meta:resourcekey
в файлах .ascx очень удобен для локализации элементов управления;
- Должен использоваться механизм автоматического восстановления языка / культуры ресурсов в .NET;
- Результат компиляции должен быть таким, чтобы файлы всех плагинов можно было скопировать в папку
/MainSite/bin/Plugins/
. Если для каждого языка / культуры есть файл .DLL, и они должны быть помещены в некоторые конкретные подпапки - это прекрасно, если у .DLL из разных плагинов нет конфликтующих имен.
Есть идеи, как этого добиться?