несколько вариантов для пути к исполняемому файлу, но только один работает внутри Visual Studio? - PullRequest
0 голосов
/ 02 октября 2011

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

  • Environment.GetCommandLineArgs()[0]
  • System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
  • typeof(Program).Assembly.Location

Однако при отладке в Visual Studio 2010 первые два возвращают имя exe vshost, например, ...bin\Debug\ExportVSProject.vshost.exe. Я думаю, что понимаю почему. Методом проб и ошибок я обнаружил, что последний предоставляет правильное имя внутри VS и снаружи.

Мой вопрос: есть ли недостатки в использовании Assembly.Location? Причина, по которой я спрашиваю, состоит в том, что я не видел никакого сравнения, чтобы выбрать одно из другого в других ответах.

1 Ответ

0 голосов
/ 02 октября 2011

Всё хорошо. Более общим решением является Assembly.GetEntryAssembly (). Местоположение, которое можно использовать где угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...