Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在程序中使用resources.resx中的嵌入文件_C# - Fatal编程技术网

C# 在程序中使用resources.resx中的嵌入文件

C# 在程序中使用resources.resx中的嵌入文件,c#,C#,我有一个程序,它需要一个文本文件来保存一些信息,我有一些函数,当前使用文件的路径,然后用它做一些事情。然而,我想把程序编译成一个.exe,但是文件显然不在同一个地方。 经过研究,我发现使用嵌入式资源可以将文本文件添加到程序中,但我似乎对此无能为力。 我在嵌入式文件中有“highscores.txt”,目前正在使用: string path = Resources.highscores; 但是,这基本上说明资源不会退出,我不知道问题出在哪里。如果文件被标记为嵌入文件,则无法在运行时更改该文件。

我有一个程序,它需要一个文本文件来保存一些信息,我有一些函数,当前使用文件的路径,然后用它做一些事情。然而,我想把程序编译成一个.exe,但是文件显然不在同一个地方。 经过研究,我发现使用嵌入式资源可以将文本文件添加到程序中,但我似乎对此无能为力。 我在嵌入式文件中有“highscores.txt”,目前正在使用:

string path = Resources.highscores;

但是,这基本上说明资源不会退出,我不知道问题出在哪里。

如果文件被标记为嵌入文件,则无法在运行时更改该文件。 根据您试图保存的内容,您可以使用
文件。

您是将
highscores.txt
添加到资源文件中,还是只是在解决方案中创建了一个文本文件,并在其属性中将其设置为
Embedded Resource
。但是要考虑到这一点是没有意义的,资源是只读的,并且当用户获得新的高分时,肯定要更改该文件。将该文件存储在AppData中。如果我将其存储在app data中,当移动到另一台计算机上时,路径肯定会改变,因此将不起作用。正在保存的是一个名称和分数列表,格式为“name score”@DomBeasley。在这种情况下,我建议不要尝试使用设置文件,只允许您的应用程序保存到光盘,如果只想将某个文件保存在一个文件中,那将是一种不好的做法。是否有一种方法可以在每次将exe发送给某人时创建一个新文件,然后在该人每次使用其游戏版本时重新使用该文件?有很多方法可以做到这一点抱歉,如果我没有正确阅读,但它似乎仍然有一个固定的路径,如果我把它移到另一台计算机上,这条路肯定会完全改变