FileNotFOundException в System.Windows.Forms.Application.ExecutablePath - PullRequest
1 голос
/ 08 марта 2012

Запуск Visual Studio 2008 .net 2.0.В меню «Отладка» я выбираю исключения и настраиваю их на разрыв при возникновении исключений CLR.

Затем я делаю файл нового проекта, выбираю новое консольное приложение.

Я добавляю следующие 2строки внутри main.

Console.WriteLine(System.Windows.Forms.Application.ExecutablePath);
Console.ReadKey();

Когда я выполняю этот код, я получаю исключение FileNotFOundException, в котором говорится, что он не может найти \ ConsoleApplication1 \ ConsoleApplication1 \ bin \ Debug \ ConsoleApplication1.vshost.exe.config.

Мне интересно как и почему это происходит, и как предотвратить это, так как я хотел бы оставить настройку прерывания для брошенных исключений CLR во время любых сеансов тестирования.

Спасибо.

РЕДАКТИРОВАТЬ: Я знаю о системе VSHosting и в порядке с существованием файлов и для чего они.Я не хочу превращать хостинг.Я просто не уверен, почему вызов Application.ExecutablePath ищет файл конфигурации.Мне удалось обойти это в одном месте, изменив его на вызов system.reflection, чтобы получить то же значение.Но затем я получил ту же ошибку при вызове «нового DevExpress.XtraEditors.ButtonEdit ()».

1 Ответ

1 голос
/ 16 марта 2012

Проблема заключалась в том, что у меня не было определенного app.config в моем проекте, и у меня была отключена опция отладки JustMyCode.Таким образом, что-то вместо этого вызова вызывает исключение для отсутствующего app.config, и, поскольку он был настроен на создание исключения, а не JustMyCode, отладчик Visual Studio его ловил и прерывал в этот момент.

...