Как определить запуск приложения под 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;