我已經得到了以下非標準的設置(VS2008,.NET 3.5 SP1):棘手的問題與ASP.NET Web表單資源和本地化
有一個叫MainSite主網項目,並有幾個「插件」具有不同名稱的Web項目。
當構建這些插件時,我有一個自定義生成步驟,調用aspnet_compiler.exe
和aspnet_merge.exe
。這導致了兩個.DLL文件 - plugin_name .dll和plugin_name _deploy.dll。第一個包含代碼隱藏類,第二個包含從.ascx文件生成的代碼。
然後將這些插件.DLL複製到/MainSite/bin/Plugins/
文件夾中。在運行時(應用程序啓動),MainSite應用程序在此文件夾中查找並動態加載所有.DLL文件。
我所有的表單都在插件中,在.ascx文件中。主應用程序只是一個根據需要加載這些.ascx usercontrols的框架。
現在需要本地化。理想情況下,我想有以下幾點:
- 製作時在Visual Studio中的資源,應該有各種形式(.ascx文件)單獨的資源文件,以便更容易爲人們本地化的形式平行。
- .ascx文件中的
meta:resourcekey
方法非常適合本地化控件; - .NET中的自動資源語言/文化回退機制應該是可用的;
- 編譯結果應該是這樣的:所有插件的文件都可以複製到
/MainSite/bin/Plugins/
文件夾中。如果每個語言/文化都有一個.DLL文件,並且它們必須放在某些特定的子文件夾中 - 只要來自不同插件的.DLL沒有碰撞名稱就沒有問題。
有關如何實現此目的的任何想法?