Преобразование проекта C ++ .exe в DLL - PullRequest
1 голос
/ 13 апреля 2009

Microsoft предоставляет исходный код vshadow для управления VSS (Volume Shadow Service [shadow copy]), и я немного его изменил, но я хочу превратить его в dll, чтобы я мог использовать его в своих проектах на C #. Я не знаю точно, как это сделать, исходный код довольно прост, и он не должен быть слишком сложным, но я действительно не знаю, с чего начать. Как мне преобразовать его в пригодную для использования dll вместо компиляции в исполняемый файл?

Обновление : Кто-то уже сделал это: http://www.alphaleonis.com/2008/08/alphavss-bringing-windows-shadow-copy-service-vss-to-net/

Ответы [ 2 ]

3 голосов
/ 13 апреля 2009

Вам потребуется изменить настройки проекта в Visual Studio, чтобы создать DLL. Кроме того, вам нужно определить точки входа в DLL.

Однако VSS - это набор COM API, поэтому вы можете вызывать их напрямую из C # с помощью pinvoke, вместо того, чтобы использовать этот исполняемый файл оболочки C ++.

Поскольку SDK содержит только библиотеки, а не DLL, вам придется создать проект dll, чтобы использовать его.

Это хороший блог с практическими рекомендациями .

Вам необходимо загрузить VSS SDK (если вы этого еще не сделали).

Достойный предмет на pinvoke.

Надеюсь, это поможет.

0 голосов
/ 13 апреля 2009

Такая задача может варьироваться от тривиальной до чрезвычайно сложной. В вашем случае проблема, вероятно, связана со сложным концом.

Причина этого в том, что вам нужно заменить существующий интерфейс новым набором функций, которые вы можете использовать. Затем эти функции необходимо будет экспортировать, чтобы вы могли импортировать их в dotNet.

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