我希望有一个GUI,为用户提供两个选项:
这将有助于用户不需要随身携带我们所有的密钥文件,但如果需要添加新的密钥文件,它仍然可以提供灵活性。
我的代码目前正在使用选项#1。我用:
readFile = new StreamReader(KeyFileFullPath);
其中KeyFileFullPath是openFileDialog定义的密钥文件的文件路径。
我想对选项#2使用相同的streamReader,但是我无法将读者指向资源文件。
从this question开始,我尝试了以下内容:
_assembly = Assembly.GetExecutingAssembly();
readFile = new StreamReader(_assembly.GetManifestResourceStream(TM_Decoder.Properties.Resources._7p1_HOB_Key));
我使用C#的自动完成导航到...“_ 7p1_HOB_Key”,所以我希望它指向我实际存在的东西。但是,当我尝试运行代码时,我收到此错误:
“值不能为null。参数名称:stream”
基于this,我尝试查找ManifestResourceNames,但它只是: “TM_Decoder.Form1.resources”和“TM_Decoder.Properties.Resources.resources”
这些都没有指向我加载到项目资源中的密钥文件。
提前感谢您帮助将streamReader指向资源文本文件!
编辑(响应SLaks建议):
答案 0 :(得分:2)
TM_Decoder.Properties.Resources._7p1_HOB_Key
是一个包含实际内容的字符串,而不是资源名称
"TM_Decoder.Resources._7p1_HOB_Key"
是资源名称。