我们有一个大型应用程序,它有几十个resx文件来本地化应用程序
每次构建这些文件并花费大量时间来构建并且构建过程会更长
如何从构建过程中删除这些类型的文件
答案 0 :(得分:4)
也许我错过了一些事情。如果您要免除ASP.NET生成.resx
文件的代码,则必须按如下方式删除其构建提供程序。
<compilation>
<buildProviders>
<remove extension=".resx"/>
</buildProviders>
</compilation>
答案 1 :(得分:2)
我相信默认的ASP.NET资源提供程序使用页面本身与App_LocalResources文件夹中相关的* .resx文件之间的一对一关系来获取本地页面资源。我不确定是否有办法改变这种默认行为。
然而,有可能;实现自己的资源提供者和资源提供者工厂。这是通过实现IResourceProvider接口来定义您自己的资源回溯方法并创建关联的ResourceProviderFactory来实例化自定义提供程序的实例来完成的。完成此操作后,您可以通过将以下内容添加到Web.config文件来引用自定义提供程序工厂:
<system.web>
<globalization resourceProviderFactoryType="Company.Product.CustomResourceProviderFactory" />
</system.web>
使用此功能,您可以 - 例如 - 切换到将数据库中的本地化存储(如指南here中所述),而不是每次都使用您的应用程序进行编译,从而有望提高构建速度。