我使用流读取器读取sql数据。尽管resourceName是正确的,并且资源Build Action属性是Embedded Resource,但它仍在StreamReader上引发以下错误: System.ArgumentNullException:值不能为null。
var namespace1 = typeof(Toolbox).Namespace;
var name1 = name.Replace('\\', '.');
string resourceName = $"{typeof(Toolbox).Namespace}.{name1}";
//Innosys.Ap.GetCurrentTimeKey.sql
using (Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)
)
{
using (StreamReader streamReader = new StreamReader(manifestResourceStream))
return streamReader.ReadToEnd();
}
以下是我到目前为止的调试结果。
namespace1返回项目中用于类的正确名称空间,即我从中调用streamReader的类,即资源文件。
name1返回带有扩展名的资源文件名。即。 myquery.sql