我正在为我的ASP5 MVC6应用程序创建集成测试(网络类库项目)。我想将一个带有原始SQL的资源文件添加到用于数据库准备的测试项目中。如何在Visual Studio 2015中使用资源文件
我想使用良好的旧资源(.resx)。但我在add new item
项目的菜单中没有。
我找到了this答案指向github repo。我想这是他读文件:
using (var stream = FileProvider.GetFileInfo("compiler/resources/layout.html").CreateReadStream())
using (var streamReader = new StreamReader(stream))
{
return streamReader.ReadToEnd().Replace("~", $"{basePath}/compiler/resources");
}
我在测试帮手在TestHelper类项目中使用System.IO.File.ReadAllText("compiler/resources/my.sql")
尝试。
当我在我的实际测试项目中使用TestHelper类时,它正在测试项目目录中查找该文件。
TestProject/compiler/resources/my.sql
的TestHelperProject/compiler/resources/my.sql
insetad我可以找出一对夫妇的解决方法。不过,我想以正确的方式做到这一点。最好喜欢我会用resx文件做:
string sql = Resources.MySql;
有什么建议吗?
编辑
您正在使用什么项目模板?在新的ASP.NET项目模板选择器中没有看到“Web类库项目”。 – Dai
FWIW,在Visual Studio 2015的ASP.NET项目的“Visual C#> General”类别下,“Resources File”(带有'.resx'扩展名)** does **出现在ASP.NET项目的Add New Item对话框中。 – Dai
@戴请参阅编辑。顺便说一句,如果我创建一个正常的类库项目,并尝试添加一个引用到我的ASP5项目我得到一个错误“无法添加引用'MyAsp5Project'' – gisek