2016-12-16 11 views
-1

В Debug Mode, я могу успешно получить каталог исполняемого пути, а вот ссылка ссылка о том, что достигается:не может получить путь к папке приложения в режиме выпуска (.NET)

Obtaining Application Folder Path

Проблема в том, что ни один из этих методов не действует в Режим освобождения. Это не ошибка, но строка кода полностью пропускается. Пример фрагмента кода, который не будет выполнять это:

Dim strDir as String = Environment.CurrentDirectory 

В режиме отладки выше выполняется правильно (strDir будет содержать соответствующий каталог). В режиме деблокирования вышеперечисленное полностью пропустит выполнение, оставив strDir как Nothing или empty. Любые идеи о том, что я могу сделать?

Спасибо!

+1

При развертывании у вас может не быть права на чтение/запись файлов или создание каталогов в месте, где установлено приложение. Этот код не похож на тот, что в ссылке, а 'Function()' просто ... причудливый. Windows предоставляет несколько папок для данных приложения. – Plutonix

+0

. Вы можете настроить его, чтобы приложение Debug запускалось из папки, отличной от любых ваших файлов VS. Используйте вкладку «Отладка» в разделе «Проект» -> «Свойства» – Plutonix

+1

. В сообщении нет кода, который напоминает что-либо, связанное с использованием «пути к папке приложения» ... Пожалуйста, просмотрите руководство [MCVE] и отредактируйте сообщение, чтобы выровнять образец кода, основной текст и название. –

ответ

0

Режим освобождения Отладка отличается от отладки отладочным способом. Не так просто переходить через код по строкам из-за оптимизируемого кода; некоторые пути потока могут быть разными.

Я скажу это ... Очень важно часто компилировать свой код в режиме отладки и выпуска, чего я не делал. На самом деле не было никакой проблемы, кроме того, что я каким-то образом ударил еще одну нерелевантную ошибку в режиме выпуска, и я попытался выполнить код. Я заметил, что когда я попытался перешагнуть эту линию:

Dim strDir as String = Environment.CurrentDirectory 

Он прыгнул мимо линии, и я не мог наблюдать значение. Я ошибочно думал, что это проблема. Но то, что я узнал в режиме выпуска, заключается в том, что это нормально. Приносим извинения за отправку этого вопроса, может ли кто-нибудь его закрыть?

Спасибо всем.

 Смежные вопросы

  • Нет связанных вопросов^_^