人们通常已经回答了这个问题,所以这是将答案简化为简单的结果。
使用以下代码之前,应将文件作为嵌入式资源添加到.csproj / project.json
用法
var myJsonFile = ReadManifestData<Tests>("myJsonFile.json");
- 参数:嵌入式文件名;类型:目标资源的程序集中的任何类
- 寻找具有该名称的嵌入式资源
- 返回字符串值
方法
public static string ReadManifestData<TSource>(string embeddedFileName) where TSource : class
{
var assembly = typeof(TSource).GetTypeInfo().Assembly;
var resourceName = assembly.GetManifestResourceNames().First(s => s.EndsWith(embeddedFileName,StringComparison.CurrentCultureIgnoreCase));
using (var stream = assembly.GetManifestResourceStream(resourceName))
{
if (stream == null)
{
throw new InvalidOperationException("Could not load manifest resource stream.");
}
using (var reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}