ASP.Net 资源文件

Posted

技术标签:

【中文标题】ASP.Net 资源文件【英文标题】:ASP.Net resource files 【发布时间】:2010-09-27 10:46:35 【问题描述】:

我正在使用 selenium 在我们当前应用程序的 UI 上运行一些功能测试。

我想确保 Web 项目中资源文件中的字符串在正确的时间和地点显示。

简单(我认为)我所要做的就是引用 Web 应用程序的程序集并断言从 UI 读取的文本 selenium 与相应资源文件中的测试匹配。

问题是 ASP.Net 对资源文件进行了一些预编译处理并将它们编译成一个名为 App_GlobalResources 的程序集,该程序集不是由正常的构建过程创建的,因此功能测试失败,因为找不到 App_GlobalResources程序集查找字符串。

那么,有什么建议吗?我是否需要放弃 App_GlobalResources 方法并做一些我可以控制的手动操作?

您了解问题还是我需要提供更多信息?

【问题讨论】:

【参考方案1】:

我的临时解决方案是使用 SVN:Externals 将 resx 文件的副本提取到测试项目中。

然后我可以通过

访问它们 ResourceManager 资源 = new System.Resources.ResourceManager("My.Web.Namespace.resources.ImageUrls", Assembly.GetExecutingAssembly());

它很难看,因为我已经有了对 webproject 的引用(我现在可能可以删除它......)而且我不喜欢在项目之间混合源文件。感觉就像自找麻烦,但除非有人提出更好的建议,否则必须这样做。

【讨论】:

【参考方案2】:

您是否考虑过将您的 GlobalResources 移动到一个单独的程序集中,然后从您的 Web 项目和测试项目中引用它?这在 VS 2008 中很容易做到,并且可以实现,但在 VS 2005 中有点困难。

我能够使用这种方法解决类似的问题。

【讨论】:

您能否提供更多关于您如何管理这种方法的信息?

以上是关于ASP.Net 资源文件的主要内容,如果未能解决你的问题,请参考以下文章

asp.net 本地化资源显式本地化不加载本地化文件

在视图中找不到 ASP.NET 资源

WebResource-asp.net自定义控件引用外部资源方法

ASP.NET MVC:404 - 找不到文件或目录。您正在寻找的资源

asp.net core2.1 bundleconfig.json合并压缩资源文件

asp.net core bundleconfig.json合并压缩资源文件