.net – 将大型资源文件物理拆分为多个文件,而编译器将其视为一
发布时间:2020-12-16 03:47:35 所属栏目:asp.Net 来源:网络整理
导读:是否可以将一个大的资源(.resx)文件物理地拆分为多个文件,并仍然使用相同的syntex来获取数据 即 GlobalResource.resx 成 GlobalResource1.resx,GlobalResource2.resx,GlobalResource3.resx,…… 并且所有文件将被拼凑成一个并使用like Resources.GlobalResou
是否可以将一个大的资源(.resx)文件物理地拆分为多个文件,并仍然使用相同的syntex来获取数据
即 GlobalResource.resx 成 GlobalResource1.resx,GlobalResource2.resx,GlobalResource3.resx,…… 并且所有文件将被拼凑成一个并使用like Resources.GlobalResource.errParamNameReq 在Asp.net 3.5中使用它.在svn上工作时遇到问题,每次尝试签入时都会遇到冲突,所以我想把它拆分成许多文件,而编译器则把它当作一个. 解决方法
每个资源文件都有一个代码隐藏文件,用于将资源项声明为静态属性.工具也使用很多自动代码生成作为Visual Studio来同步xml /资源编辑器数据和代码隐藏文件.将资源拆分为多个文件可能是可能的,但稍后自动生成代码的效果可能会导致更多问题,而不仅仅是合并您的更改.可能的解决方案是创建不同的资源文件.然后有一个类为每个资源管理器保存一个ResourceManager实例的集合.像这样的东西:
public class ResourceWrapper { private ICollection<ResourceManager> resourceManagers; public ResourceWrapper(IEnumerable<ResourceManager> managers) { resourceManagers = new List<ResourceManager>(managers); } public string GetString(string key) { foreach (var resourceManager in resourceManagers) { string res = resourceManager.GetString(key); if (res != null) { return res; } } return null; } public string GetString(string key,CultureInfo culture) { foreach (var resourceManager in resourceManagers) { string res = resourceManager.GetString(key,culture); if (res != null) { return res; } } return null; } } 您只需获取所有资源并将它们传递给构造函数.您可能希望在创建包装器实例后保留它,以避免为每个资源文件创建资源管理器 – 静态文件将执行此操作.上述代码的唯一问题是无法保证2个或更多资源文件定义相同的密钥.如果发生这种情况,代码将仅返回第一个匹配项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 表单身份验证值得学习吗?它可以用于拥有大量流
- asp.net-mvc-5 – Windows身份验证在ASP.NET MVC 5网络应用
- asp.net-mvc – 为什么我的ASP.NET MVC应用程序试图导航到l
- asp.net-mvc – 如何使用FluentValidation在ClientSide中验
- asp.net – 如何关闭我在JavaScript中打开的所有IE浏览器窗
- asp.net – asp .net查询字符串编码和解码
- asp.net-mvc – LINQ to Entities无法识别方法异常
- ASP.NET Web.Config转换问题
- Asp.net全局输出缓存
- asp.net – ViewState作为属性
推荐文章
站长推荐
- Asp.net Images随机提供401个未经授权的错误
- asp.net-mvc – WebApi和Controller overkill
- 如何创建一个asp.net会员提供者手动加密密码?
- asp.net结合Ajax验证用户名是否存在的代码
- asp.net – 从网站下载后文件上的数字签名
- 在asp.net中读取查询字符串而不指定任何页面名称
- asp.net-mvc – 第一个Web API会话请求非常慢
- asp.net-mvc – 带有ioc的asp.net mvc – >使用B
- 在Azure中为ASP.NET Core Web应用程序设置SQL连接
- asp.net-mvc – AspNet如何与我的模型识别
热点阅读