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 资源文件的主要内容,如果未能解决你的问题,请参考以下文章
WebResource-asp.net自定义控件引用外部资源方法
ASP.NET MVC:404 - 找不到文件或目录。您正在寻找的资源