【发布时间】:2012-12-02 06:22:48
【问题描述】:
好的,我觉得我的问题的答案在网上,但我找不到。我要做的就是将一个文本资源文件添加到我正在使用 CodeDom 编译的程序中,然后在编译的程序中访问该文本文件。为了添加嵌入资源,我使用了以下代码:
System.Resources.ResourceWriter writer = new System.Resources.ResourceWriter("Resources.resx");
writer.AddResource("EoS.txt", Form1.MasterEncoder.GetBytes(Properties.Resources.Eos));
writer.Generate();
writer.Close();
Parameters.EmbeddedResources.Add("Resources.resx");
这里的“Parameters”是我的编译器参数对象,“Eos.txt”是我要编写的文件,它是应用程序中的一个资源。 这在我构建程序时不会引发任何错误,但是当我尝试使用此代码在新编译的程序中获取此文本文件时,我将其添加到表单加载事件中:
_assembly = Assembly.GetExecutingAssembly();
_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("Resources.EoS.txt"));
TextFile = _textStreamReader.ReadToEnd();
我大致收到此错误:“值不能为空参数名称:流。”我已经尝试将“资源”更改为程序的名称空间和许多其他的小调整,但没有任何效果。我不确定我是否走错了路,但我认为我的问题在于 CodeDom。有什么建议吗?
【问题讨论】:
-
错误是否告诉你它在哪一行?
-
嗯,我很确定它在 StreamReader 行中。
-
删除了“嵌入”标签。与嵌入式代码/系统无关