gpt4 book ai didi

c# - 添加和检索嵌入式资源 codedom

转载 作者:太空狗 更新时间:2023-10-29 23:46:57 25 4
gpt4 key购买 nike

好的,我觉得我的问题的答案在网上,但我找不到。我要做的就是将一个文本资源文件添加到我正在使用 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 上。有什么建议吗?

最佳答案

这几乎可以肯定是由于资源名称的意外形成方式所致。当我想不起来时,我使用的一个技巧是临时添加这行代码:

string[] resourceNames = _assembly.GetManifestResourceNames();

在上面设置一个断点,从而提醒自己正确的名字,然后将其复制到代码中。

关于c# - 添加和检索嵌入式资源 codedom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13666956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com