我很难找到一种在C#中加载测试数据的简单方法。
在Java中,我使用以下代码加载资源:
...
public static InputStream loadResource(String resource) throws LoadException {
InputStream is = TestUtils.class.getResourceAsStream(resource);
if (is == null) {
throw new LoadException("Error loading '" + resource + "'");
}
return is;
}
...
public static void main(String[] args) {
InputStream is = TestUtils.loadResource("/resourcelocation");
}
我尝试使用C#资源文件,但我发现加载和操作它很尴尬。有没有更简单的方法在C#中加载资源?
答案 0 :(得分:9)
是 - 使用Assembly.GetManifestResourceStream
,例如
typeof(TestClass).Assembly
.GetManifestResourceStream("test.namespace.Filename.txt")
只需确保文件在属性中标记为“嵌入式资源”,即可正确构建到程序集中。