C#:如何访问ProjectFolder/file.txt中的文件?

C#:如何访问ProjectFolder/file.txt中的文件?,c#,C#,我是c#的新手。如果我在ProjectFolder\file.txt中有一个文件,我如何在代码中访问它。我想用代码读一个文件。我记得路径看起来像application://.../file.txt但我记不起如何准确地将文件的Copy to Output Directory属性设置为较新时要复制的文件: 从输出目录运行程序时,只需从当前目录打开文件: string text = File.ReadAllText("file1.txt"); 大多数人的解决方案都是指访问文件系统中的文件。然而,您

我是c#的新手。如果我在
ProjectFolder\file.txt
中有一个文件,我如何在代码中访问它。我想用代码读一个文件。我记得路径看起来像
application://.../file.txt
但我记不起如何准确地将文件的Copy to Output Directory属性设置为较新时要复制的文件:

从输出目录运行程序时,只需从当前目录打开文件:

string text = File.ReadAllText("file1.txt");

大多数人的解决方案都是指访问文件系统中的文件。然而,您提到了应用程序本地URI,这让我觉得您在谈论嵌入式资源。这些资源不是文件系统中的单独文件。所以,我的文章的其余部分是关于这一点的

如果要在程序集中包含该文件,必须更改该文件的属性,将BuildAction属性更改为Embedded Resource

从那里,您可以使用资源路径访问它,如您所述(请参阅Pack uri:),也可以通过以下方式访问它:

var stream = System.Reflection.Assembly.GetExecutingAssembly()
    .GetManifestResourceStream("ConsoleApplication1.blah.txt");
var reader = new StreamReader(stream);
Console.WriteLine(reader.ReadToEnd());

如果文件位于项目文件夹中,请确保将该文件夹添加到文件路径中