【发布时间】:2015-07-24 09:32:40
【问题描述】:
我看过很多关于此的其他帖子,但它们毫无意义。这是我在另一篇文章中看到的结构。
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyCompany.MyProduct.MyFile.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
}
我不明白"MyCompany.MyProduct.MyFile.txt" 部分的内容。是“WindowsFormApplication2.Properties.Resources.LabelData.txt”吗?因为那行不通。我不断收到 NullReferenceException ......我假设它没有正确的文件。这是我的代码。
public void readAllLabelValues()
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "WindowsFormsApplication2.WindowsFormsApplication2.LabelData.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader Reader = new StreamReader(stream))
{
foreach (Label label in tableLayoutPanel1.Controls.OfType<Label>())
{
label.Text = (Reader.ReadLine());
}
}
}
感谢您的帮助。
【问题讨论】:
-
确保您在文本文件的属性中将构建操作更改为 Embedded Resource 而不是默认的 Content 值。
-
在VS的解决方案资源管理器中选择文件,然后转到属性窗口并按照上述操作
-
请标记(并投票)帮助您解决问题的答案。
标签: c# embedded-resource