在 winform c# 中读取资源时混淆获取资源名称
本文关键字:资源 获取 读取 winform | 更新日期: 2023-09-27 18:35:35
我已将文本文件资源添加到资源文件夹中的winform C#项目中这里资源.resx的内容经过我添加
<data name="_0" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..'Resources'0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
然后我尝试使用此解决方案阅读该嵌入式资源的内容
如何读取嵌入的资源文本文件
这是主要程序
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "Properties.Resources.0.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
try
{
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
Console.WriteLine(result);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
但我在 var 阅读器中得到了 null 参数,我认为这是关于资源名称的路径,有什么想法可以解决我的问题吗?谢谢之前
您必须将
项目命名空间附加到资源名称中:
var resourceName = "Properties.Resources.0.txt";
将其更改为:
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "ProjectNamespace.Properties.Resources.0.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
}