我在使用资源文件时遇到了一些麻烦。
在我的项目中,我使用了一堆位图文件和两个txt文件。位图用作控件的背景,但我想在记事本或写字板中打开.txt文件。 直到现在我才从我机器上的文件路径访问它们:
ControlName.backgroundimage = New Bitmap(direcorypath & "/Map.bmp")
Process.Start(direcorypath & "/Instrukcje.txt")
它工作正常。现在我将这些文件添加到我的资源中(将它们放在可执行文件中对我来说很实用) 并用以下内容替换了这些行:
ControlName.backgroundimage = New Bitmap(MyProject.My.Resources.Map)
Process.Start(MyProject.My.Resources.Instrukcje)
对于位图,它工作正常,但对于txt文件,发生错误,说无法找到文件。 有趣的是:当我在“Watch”中输入“MyProject.My.Resources.Instrukcje”时,它会显示文件的内容。它就在那里,只是不作为文件?我想我在这里遗漏了一些东西 我到处搜索什么东西,但找不到任何有用的东西。我会为一些线索感到满意。 (对不起,如果事情不清楚,我的编程技巧比我不太好的英语差很多) 感谢:)
答案 0 :(得分:0)
资源嵌入在.dll或.exe文件中,因此无法使用Process类访问。您可以将.txt资源写入临时目录,并使用Process在那里启动临时文件。
其他信息:我已将.txt文件添加到Resource.resx文件以测试您的问题,纯文本作为字符串存储在资源文件中。因此,如果您访问Resources。(InsertYourTextFilesName)属性,则返回文本文件中的文本。
如果您可能想知道:二进制文件(例如非纯文本文件)在resource.resx中存储为字节数组,并在编译的程序集中实现。