Как определить запуск приложения под Visual Studio vshost или нет?

У меня есть сборка приложения в режиме выпуска.
Я хочу, чтобы при запуске приложения Visual Studio (клавиша F5), переменная is_vshost иметь значение trueи если я пересоберу приложение и открою его прямо в проводнике Windows, оно будет иметь значение false, Как я могу это сделать? Поблагодарить!

2 ответа

Решение

Вы можете проверить значение

System.Diagnostics.Process.GetCurrentProcess().ProcessName

Так должно быть devenv.exe при запуске изнутри VS.

В коде вы можете проверить, запущен ли vshosts.exe, посмотрев на CurrentDomain.FriendlyName. Если он заканчивается на ".vshosts.exe", значит, он работает.

    bool is_vshost = false;
    int i = AppDomain.CurrentDomain.FriendlyName.IndexOf(".");
    string s = AppDomain.CurrentDomain.FriendlyName.Substring(i);
    if (s == ".vshosts.exe")
        is_vshost = true;
Другие вопросы по тегам