找不到文件 ..\bin\Debug\content.dat。

5

我在与form1.cs相同的位置添加了一个名为content.dat的文件到我的Visual Studio项目中。 但是当我尝试读取或写入文件时,出现以下错误:

Could not find file '...\bin\Debug\content.dat'.

为什么它试图在bin\Debug中搜索它?我需要将这个文件放在哪里,以便稍后可以轻松地进行读/写操作,同时我还需要为此创建安装程序,参考路径会再次受到干扰吗?
3个回答

13

可能是因为你正在运行bin\Debug目录下的应用程序。

一种选项是将文件的构建操作设置为“内容”,这样它就会与可执行文件一起复制到输出目录中。编辑:正如Hans所指出的,您还应该将“复制到输出目录”属性设置为“始终复制”或“仅在更新时复制”。


实际上,将任何文件的构建操作设置为Content都会将该文件复制到输出目录。 - user29964
4
不,它并不是这样的,我刚验证过了。 "Content" 的意思是“应该包含在安装程序项目中”。将“复制到输出目录”属性设置为“如果较新则复制”是很重要的。 - Hans Passant
@Hans:我认为两者都相关。不过,我已经修正了答案并包含了这些信息。 - Jon Skeet

1

在 Visual Studio 中标记你的 content.dat 文件,然后在“生成操作”中选择“始终复制”或“仅在较新时复制”。


1

我知道这个问题现在已经很老了,但是我也遇到了同样的问题,发现解决方法是使用以下代码获取当前目录:

Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName;

第二个Parent删除了对bin的引用。然后,您可以在相同位置添加文件路径,并且它不应将您带到bin/debug。

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