在bin/debug或release文件夹中未生成VS解决方案文件夹

7

我在我的视觉解决方案项目中添加了一个解决方案文件夹。

我在该文件夹内添加了一些文本文件。

我已经构建并重新构建了我的解决方案,但仍然没有任何变化。

当尝试从该文件夹访问文件时出现的错误:

System.IO.StreamReader file0 = new System.IO.StreamReader(Path.Combine(Environment.CurrentDirectory, @"newFolder\SampleText.txt"));

发生了未处理的类型为 'System.IO.DirectoryNotFoundException' 的异常,位于 mscorlib.dll 中 其他信息:找不到路径的一部分,即 'I:\Programming\Projects\SampleProject\SampleProject\SampleProject\bin\Release\newFolder\SampleText.txt'。 发布文件夹的路径是有效的,但 newFolder 不在其中。我不明白为什么它没有被生成,任何帮助都将非常感谢。

你的代码片段不会为你生成文件夹。如果不存在,你需要手动创建它。 - Jonesopolis
有没有一种方法可以生成作为 Visual Studio 解决方案一部分的已创建文件夹?因为我需要这个文件预先存在。 - Peter
你必须理解ReleaseDebug文件夹之间的区别。默认情况下,你可能正在Debug模式下工作。 - Hassan
4个回答

13

点击文本文件,将 Copy to Output Directory 更改为 Copy if newerCopy always。这将复制文件及其下面的任何文件夹结构到项目级别并在输出文件夹中重新创建。

输入图像描述

输入图像描述


编辑,我的文件夹在解决方案级别而不是项目级别。谢谢。 - Peter

2

答案是正确的。您需要将“复制到输出目录”更改为“始终复制”或“仅在更新时复制”,但是您还需要做一件事。您需要选择Build Action为“Content”。通过这样做,包含文件的文件夹将自动生成到debug文件夹中,无需麻烦。其他Build Actions也可能有效,但不包括“Resource”。


0
如果在解决方案中将文本文件的属性“复制到输出目录”设置为“始终”,则包含此文件的文件夹将自动创建。

-1

如果您在项目级别而不是解决方案级别创建文件夹,则可以转到该文件夹中的每个文件并查看属性(右键单击/属性)。在这里,您可以设置“复制到输出目录”选项为“始终复制”或“仅在较新时复制”,具体取决于您的目的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接