Итак, у меня есть .Net-утилита. Мне нужно использовать утилиту (ilasm и ildasm), которая иногда в переменной PATH, а иногда и нет. Конкретные моменты, когда он находится на пути, включают при использовании сценария командной строки Visual Studio .. и когда это не так, вы просто запускаете обычный экземпляр cmd.exe
.Как выполнить команду оболочки в текущем контексте cmd.exe?
Вся информация, которую я видел для выполнения команды оболочки из .Net, подразумевает, что вы можете просто создать новый экземпляр cmd.exe, но в этом случае переменная PATH будет отличаться. Другая возможная вещь - это вручную разбор переменной PATH и ее выполнение непосредственно с ProcessStartInfo
, когда она найдена, но это кажется неприемлемым и ненужным
Есть ли инструмент или что-нибудь, что поможет мне в этой ситуации? Как мне следует выполнять эти утилиты?
Проверьте, есть ли в вашей обычной среде переменная 'VS * '(просто введите' set VS' в командной строке) - вы можете использовать их для поиска инструментов вместо пути ... Или просто измените систему (или user) PATH, чтобы включить VS-путь, если он вам нужен. –
Почему запускается 'cmd.exe'? Почему не программа, которую вы пытаетесь вызвать (если это то, что вы делаете)? – gunr2171
Как это может быть ** иногда **? Вы можете переключиться между командной строкой VS и регулярным 'cmd'? – Nayan