I have added a file content.dat in my Visual Studio project at the same location where there is form1.cs. But when I try to read or write to file I am getting this error:
I know this question is rather old now but I had come across the same issue and found that the fix was to get the current directory with this line:
Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName;
The second Parent
gets rid of the reference to the bin. You can then add the path to the file you've added in the same location and it shouldn't take you to bin/debug.
Mark your content.dat within visual studio and where it says build action select copy always or copy if newer
Presumably it's because you're running in bin\Debug
- that's where the application is being launched.
One option is to set the build action for the file to "Content" so that it will copy it into the output directory along with your executable. EDIT: As Hans as pointed out, you should also set the "Copy to Output Directory" property to "Copy Always" or "Copy if newer".