如何在 Visual Studio 2015 中使用资源文件

How to use a resource file in Visual Studio 2015

我正在为我的 ASP5 MVC6 应用程序创建集成测试 (网络 class 库项目)。我想添加一个带有原始 SQL 的资源文件到数据库准备的测试项目中。

我想使用很好的旧资源 (.resx)。但我在 add new item 项目的菜单中不可用。

我找到了 answer pointing to a 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 class.

测试助手 项目中使用 System.IO.File.ReadAllText("compiler/resources/my.sql")

当我在我的实际测试项目中使用 TestHelper class 时,它正在寻找测试项目目录中的文件。

TestProject/compiler/resources/my.sql 插入 TestHelperProject/compiler/resources/my.sql

我可以想出几个解决方法。但是我想以正确的方式去做。最好像我在 resx 文件中做的那样:

string sql = Resources.MySql;

有什么建议吗?

编辑

项目类型

可用项目

有点复杂,因为没有工具支持,但它是可行的:

  1. 创建一个 resx 文件或从其他地方复制它,例如经典 C# 项目
  2. 如果您可以使用 sake 作为构建系统,那么您可以使用我们 ASP.NET 团队使用的相同目标:https://github.com/aspnet/Universe/blob/dev/build/_k-generate-resx.shade 否则,您需要实施一些东西在您自己的构建脚本中类似
  3. 放置资源 compiler/resources。如果将它们放在任何其他文件夹下,则将它们包含在项目中 json(如 here
  4. 使用清酒构建然后使用 dnx 构建。您的资源应该作为强类型对象可用