Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# 在VisualStudio项目中使用文本文件_C#_Visual Studio 2010_Project Management - Fatal编程技术网

C# 在VisualStudio项目中使用文本文件

C# 在VisualStudio项目中使用文本文件,c#,visual-studio-2010,project-management,C#,Visual Studio 2010,Project Management,我正在VS2010中制作一个控制台程序。解决方案资源管理器中的布局结构是项目文件、属性文件夹、引用和Program.cs 我想利用文本文件进行读/写。将此文件添加到项目中的正确方法是什么?如果我只是执行StreamWriter sw=new StreamWritermaze.txt,那么它将在输出文件夹bin/debug或bin/release中创建文件。但它不会显示在解决方案资源管理器中 现在,如果我右键单击解决方案资源管理器并添加新项,我可以在根项目文件夹中创建一个与Program.cs级别

我正在VS2010中制作一个控制台程序。解决方案资源管理器中的布局结构是项目文件、属性文件夹、引用和Program.cs

我想利用文本文件进行读/写。将此文件添加到项目中的正确方法是什么?如果我只是执行StreamWriter sw=new StreamWritermaze.txt,那么它将在输出文件夹bin/debug或bin/release中创建文件。但它不会显示在解决方案资源管理器中

现在,如果我右键单击解决方案资源管理器并添加新项,我可以在根项目文件夹中创建一个与Program.cs级别相同的文本文件。这将显示在解决方案资源管理器中

我有办法访问这个新创建的文件吗?除了执行类似StreamWriter sw=new StreamWriter.././maze.txt的操作之外,还可以通过指定路径为双亲向上


如何在Visual Studio控制台应用程序中管理外部文件?在WinForms应用程序中,有一个资源文件夹,我可以在其中添加这些内容,还有一个resources.resx文件来管理它。我可以使用Properties.Resources.someres来访问它。

如果您想在设计时创建文件并将其包含在bin文件夹中,请添加文本文件,转到“属性”,然后为“复制”属性选择“始终复制”或“如果较新,请复制”


请注意,这会将文件从项目复制到bin文件夹,但调试时bin文件夹中的更改不会复制到项目本身。我怀疑您是否希望程序与项目本身中的文件版本交互。如果您这样做,那么无论何时您在VS之外运行程序,即当您将程序复制到实际用户的机器上时,它都不会工作。

至于您的资源问题,您仍然可以使用资源。只需右键单击并添加->新建项目,即键盘快捷键Ctrl+Shift+A,然后选择资源文件。你也可以。MSDN有很多关于在其上使用资源的信息。

您仍然可以将资源嵌入控制台应用程序。我在快速应用程序中使用了这种技术,因此我们不需要安装程序或部署此类文件的依赖项。这讨论了一个类似的主题。

我知道我可以将文件复制到bin文件夹,但我只是想知道是否应该访问StreamWriter.././maze.txt这样的文本文件,或者是否有更精简的方式,例如StreamWriterProperties.Resources.maze,其中文件实际上是项目的一部分。否,当程序运行时,您不应该访问实际上是项目一部分的文件。程序本身应该只修改bin/debug文件夹中的文件副本。