Можно ли включить бинарный файл в мой проект и использовать его? - PullRequest
4 голосов
/ 09 июня 2010

У меня есть двоичный файл, который используется в качестве инструмента командной строки для работы с некоторыми файлами - tool.exe. Я хотел бы включить это в мой проект Visual Studio 2008 и использовать его из моего кода C #. Он у меня в папке «Ресурсы», в которой также есть некоторые другие файлы, которые использует мой проект.

Я хотел бы сделать что-то вроде Process myproc = Process.Start("Resources/tool.exe");, но я считаю, что C # имеет проблемы с этим, потому что он смотрит в файловой системе, а не в проекте.

Как это можно сделать?

Ответы [ 3 ]

4 голосов
/ 09 июня 2010

Вы в значительной степени описываете правильный способ сделать это.Вы должны убедиться, что бинарный файл настроен для копирования в правильное местоположение относительно вашего приложения - вы делаете это, устанавливая Build action в content (в свойствах файла), чтобы он был скопирован вправильное расположение.

Для этого действия по умолчанию для свойства Copy to Ouput directory установлено значение Copy Always, которое в этом случае может быть Copy if newer.Убедитесь, что это один из этих двух.

См. этот ТАК вопрос и ответы для более подробной информации.

0 голосов
/ 09 июня 2010

Да, ваше приложение будет выглядеть в файловой системе относительно файла .exe вашего приложения.

Вы можете включить двоичные файлы в свой проект и скопировать их в выходной каталог. После добавления двоичного файла в ваш проект выберите его и перейдите к его свойствам. «Действие построения» должно быть установлено в «Содержимое», а «Копировать в выходной каталог» должно быть установлено «Копировать всегда» или «Копировать, если новее».

Может быть немного сложнее получить папку, встроенную в ваш выходной каталог, и добавить в нее файл; вам, возможно, придется согласиться с тем, что бинарный файл находится в том же каталоге, что и ваш исполняемый файл. Одно из мест, где можно посмотреть, - это действия по сборке вашего проекта; Вы можете добавить сценарии после сборки, которые устанавливают папку и перемещают двоичный файл в нужное место.

0 голосов
/ 09 июня 2010

делай Process myproc = Process.Start("./Resources/tool.exe"); если я хорошо понимаю твой вопрос

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