Найдено исключение System.IO.FileNotFoundException. Но путь правильный. Работает в других приложениях

#c# #file #filepath

#c# #файл #путь к файлу

Вопрос:

введите описание изображения здесь

Указанный путь правильный. Он работает в другом решении. Но здесь выполняется поиск указанного файла в папке bin / debug. но это в корневом каталоге.

Ответ №1:

Если вы нажмете на свой «TestFile1.txt » файл в вашем обозревателе решений и перейдите к его свойствам, вы увидите что-то похожее на это:

введите описание изображения здесь

Измените «Копировать в выходной каталог» с «Не копировать» на «Всегда копировать». Что это будет делать, так это всегда проверять ваш ‘TestFile1.txt ‘ скопирован в вашу папку Bin.

Ответ №2:

Путь указан неверно, вы указываете путь в своей Debug/bin папке, как указано в исключении. Правильный путь к вашему файлу находится в папке вашего проекта.

 string str= "../../TextFile1.txt"; //This will work.
  

Комментарии:

1. Нет, я указал str=»Textfile.txt «. который находится в текущем каталоге, где размещен program.cs. это должно сработать.

2. @Raghu Программа выполняется из Debug / bin, поэтому, когда вы указываете TextFile1.txt только вы смотрите в эту папку. Вы должны написать это так, как я вам показываю, в этом случае вы возьмете файл.

3. Это работает, но почему мне нужно использовать ../ ../ , когда мой файл и program.cs находятся в той же папке.которая работает в других приложениях.

4. Может быть, потому, что в этих других приложениях файл для чтения также копируется в папку bin / Debug / при сборке?

5. @Raghu ../ это означает, что перейдите в предыдущий каталог, когда вы написали его дважды, вы перейдете дважды, и это будет каталог вашего проекта. Вы можете поступить как Jason H и скопировать файл в свой выходной каталог.

Ответ №3:

Raghu, путь в вашем str, вам нужно будет указать полный путь. Вы упомянули только имя файла без пути, поэтому он выполняет поиск в debug, когда вы работаете в режиме отладки. Используйте путь с помощью AppDomain

Комментарии:

1. «причина и решение. КАК МОЖНО СКОРЕЕ» 🙂