I've got the following nonstandard setup (VS2008, .NET 3.5 SP1):
There is a main web project called MainSite and There are several "plugin" web projects with different names.
When building these plugins I have a custom build step that calls aspnet_compiler.exe
and aspnet_merge.exe
. This results in two .DLL files - *plugin_name*.dll and *plugin_name*_deploy.dll. The first one contains the codebehind classes, the second one contains code generated from .ascx files.
These plugin .DLL's are then copied to /MainSite/bin/Plugins/
folder. At runtime (application startup) MainSite application looks in this folder and dynamically loads all the .DLL files there.
All my forms are in the plugins, in .ascx files. The main application is just a skeleton which loads these .ascx usercontrols as needed.
And now comes the need for localization. Ideally I would like to have the following:
- When making the resources in Visual Studio, there should be a separate resource file for every form (.ascx file) so that it is easier for people to localize the forms in parallel.
- The nice
meta:resourcekey
method in .ascx files is very comfortable for localizing controls; - The automatic resource language/culture fallback mechanism in .NET should be useable;
- The result of compilation should be such that the files from all the plugins can be copied to the
/MainSite/bin/Plugins/
folder. If there is a .DLL file for every language/culture and they hav to be put in some specific subfolders - that's fine as long as the .DLLs from different plugins don't have colliding names.
Any ideas on how to achieve this?