Интеграция файла .exe в проект Visual Studio - PullRequest
1 голос
/ 20 июля 2011

разбитая на голую сцену: У меня есть программа на c #, которая вызывает .exe внутри cmd (используя process.start), передавая некоторые обязательные аргументы.

Что я пытаюсь сделать: включить exe в проект, чтобы мне не нужно было вызывать cmd.

Есть идеи?

Ответы [ 3 ]

5 голосов
/ 20 июля 2011

Если вы просто хотите включить, чтобы вам не приходилось отправлять два файла, просто включите его в проект как «встроенный ресурс» (см. Параметры элемента проекта), а затем вы можете вызвать ResourceManager.GetStream и записать его в файли вызвать Process.Start.

Если вы хотите интегрировать функции этого exe-файла, чтобы он больше не требовался (без Process.Start), вам нужен исходный код ...

РЕДАКТИРОВАТЬ: «запись в файл» не требуется, если exe-файл .NET - тогда вы можете напрямую загрузить его из потока ресурсов как Assembly / AppDomin и выполнить его.

3 голосов
/ 20 июля 2011

Вы можете добавить exe-файл как встроенный ресурс (просто щелкните правой кнопкой мыши папку в обозревателе решений, выберите «Добавить существующий элемент», затем выберите свойства для него и установите для него значение «Встроенный ресурс»).Однако вы, возможно, не сможете легко выполнить его на месте - вам нужно будет сохранить его на диск и затем выполнить его (что не решает вашу заявленную проблему необходимости ShellExecute .exe-файла, но действительно решает проблему).необходимости отправить более одного файла конечному пользователю).

Если у вас есть исходный код, вы сможете перепаковать исполняемый файл как dll или интегрировать его непосредственно в программный код.

1 голос
/ 20 июля 2011

Если исполняемый файл представляет собой сборку .NET, вы можете использовать ILMerge для объединения исполняемого файла с вашей основной сборкой. Затем вы можете напрямую вызвать код в exe-файле.

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