У меня есть решение Visual Studio 2008 с двумя проектами. C ++ DLL и приложение Csharp.
Приложение Csharp использует [DllImport] для доступа к функциям в DLL, и для нее установлена зависимость.
По какой-то причине установка зависимости не достаточна, чтобы заставить VS скопировать DLL в путь сборки приложения. Таким образом, проект приложения имеет событие после сборки, которое вызывает копирование DLL. (Если кто-нибудь знает более чистый способ сделать это, пожалуйста, дайте мне знать!)
Проблема, с которой я столкнулся, заключается в том, что, когда я изменяю код DLL, а затем пытаюсь запустить приложение Csharp в отладчике, VS2008 не может понять, что DLL должна быть перестроена (и повторно скопирована).
Мне нужно принудительно пересобрать приложение Csharp (т. Е. Явно выбрав build или «дотронувшись» до файла .CS).
Кто-нибудь знает, как заставить Visual Studio делать правильные вещи?
Правка:
Я использую зависимости проекта. Они не работают правильно.
Я использую событие после сборки, чтобы скопировать библиотеку DLL.
Проблема в том, что если вы просто решите отладить приложение, Visual Studio не сможет перекомпилировать измененный проект C ++, , несмотря на то, что существует зависимость .
Я знаю, что зависимость работает, потому что если я выберу "Build" (в отличие от "Debug"), C ++ DLL будет построена.