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

C# 如何在Visual Studio 2015中使用资源文件,c#,unit-testing,visual-studio-2015,asp.net-core,asp.net-core-mvc,C#,Unit Testing,Visual Studio 2015,Asp.net Core,Asp.net Core Mvc,我正在为我的ASP5 MVC6应用程序创建集成测试(web类库项目)。我想在测试项目中添加一个带有原始SQL的资源文件,以准备DB 我想使用好的旧资源(.resx)。但我认为它在添加新项项目菜单中不可用 我找到的答案指向一个问题。我猜这就是他读文件的地方: using (var stream = FileProvider.GetFileInfo("compiler/resources/layout.html").CreateReadStream()) using

我正在为我的ASP5 MVC6应用程序创建集成测试(web类库项目)。我想在测试项目中添加一个带有原始SQL的资源文件,以准备DB

我想使用好的旧资源(.resx)。但我认为它在
添加新项
项目菜单中不可用

我找到的答案指向一个问题。我猜这就是他读文件的地方:

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的插入部分

我能想出几个变通办法。但是我想用正确的方法。最好像我在使用resx文件时所做的那样:

string sql = Resources.MySql;
有什么建议吗

编辑

项目类型

可用项目

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

  • 创建一个
    resx
    文件,或者像经典的C#项目一样从其他地方复制它
  • 如果您可以使用
    sake
    作为构建系统,那么您可以使用我们ASP.NET团队使用的相同目标:否则,您需要在您自己的构建脚本中实现类似的东西
  • 将资源放置在
    编译器/resources
    中。如果您将它们放在任何其他文件夹下,则将它们包含在项目json中(类似)
  • 使用sake构建,然后使用dnx构建。您的资源应作为强类型对象可用

  • 您使用的是什么项目模板?我在新的ASP.NET项目模板选择器.FWIW中没有看到“Web类库项目”,“资源文件”(扩展名为
    .resx
    的)确实出现在Visual Studio 2015 ASP.NET项目的“添加新项”对话框中的“Visual C#>常规”类别下。@Dai请查看编辑。顺便说一句,如果我创建一个普通的类库项目,并尝试添加对我的ASP5项目的引用,我会得到一个错误“无法添加对“MyAsp5Project”的引用。”。。这有点乏味。有计划恢复工具吗?嗨,维克多!使用IHtmlLocalizer进行本地化怎么样?看起来Visual Studio Update 1为此添加了工具支持?它看起来还没有完成,因为同一项目中的其他类似乎没有立即获取任何新资源,并且您无法更改访问修饰符。在这些方面,这是一个倒退,但至少它似乎又出现了。链接已经失效。