ASP.NET web表单资源和本地化的棘手问题

ASP.NET web表单资源和本地化的棘手问题,asp.net,localization,webforms,globalization,aspnet-merge,Asp.net,Localization,Webforms,Globalization,Aspnet Merge,我有以下非标准设置(VS2008、.NET 3.5 SP1): 有一个名为MainSite的主web项目,有几个名称不同的“插件”web项目 在构建这些插件时,我有一个自定义的构建步骤,调用aspnet\u compiler.exe和aspnet\u merge.exe。这将产生两个.DLL文件-plugin_name.DLL和plugin_name_deploy.DLL。第一个包含codebehind类,第二个包含从.ascx文件生成的代码 然后将这些plugin.DLL复制到/MainSit

我有以下非标准设置(VS2008、.NET 3.5 SP1):

有一个名为MainSite的主web项目,有几个名称不同的“插件”web项目

在构建这些插件时,我有一个自定义的构建步骤,调用
aspnet\u compiler.exe
aspnet\u merge.exe
。这将产生两个.DLL文件-plugin_name.DLL和plugin_name_deploy.DLL。第一个包含codebehind类,第二个包含从.ascx文件生成的代码

然后将这些plugin.DLL复制到
/MainSite/bin/Plugins/
文件夹。在运行时(应用程序启动),MainSite应用程序查看此文件夹并动态加载其中的所有.DLL文件

我所有的表单都在插件中,在.ascx文件中。主应用程序只是一个骨架,根据需要加载这些.ascx用户控件

现在需要本地化。理想情况下,我希望有以下几点:

  • 在VisualStudio中制作资源时,每个表单都应该有一个单独的资源文件(.ascx文件),以便人们更容易并行地本地化表单
  • .ascx文件中的nice
    meta:resourcekey
    方法非常适合本地化控件
  • NET中的自动资源语言/区域性回退机制应可用
  • 编译的结果应该是,所有插件中的文件都可以复制到
    /MainSite/bin/plugins/
    文件夹中。如果每种语言/文化都有一个.DLL文件,并且必须将它们放在某些特定的子文件夹中,那么只要不同插件的.DLL没有冲突的名称就可以了

关于如何实现这一点有什么想法吗?

显然,在.NET中实现自定义资源提供程序是可能的。是一篇文章,其中包含解释整个过程的各种其他文章的链接。实际上,您可以从
meta:resourcekey
获取值,并从任何您想要的地方获取值。例如,上面的文章将所有本地化信息存储在数据库中。

显然可以在.NET中实现自定义资源提供程序。是一篇文章,其中包含解释整个过程的各种其他文章的链接。实际上,您可以从
meta:resourcekey
获取值,并从任何您想要的地方获取值。例如,上面的文章将所有本地化信息存储在数据库中