我有一个包含两个项目的 Visual Studio 2008 解决方案。一个 C++ DLL 和一个 Csharp 应用程序。
Csharp 应用程序使用 [DllImport] 访问 DLL 中的函数,并在 DLL 上设置了依赖项。
出于某种原因,设置依赖项不足以导致 VS 将 DLL 复制到应用程序的构建路径。因此,应用程序项目有一个构建后事件,该事件会导致 DLL 被复制。(如果有人知道更清洁的方法,请告诉我!)
我遇到的问题是,当我对 DLL 代码进行更改,然后尝试在调试器中运行 Csharp 应用程序时,VS2008 无法意识到必须重新构建(并重新复制)DLL。
我必须强制重新构建 Csharp 应用程序(即通过明确选择构建,或通过“触摸”.CS 文件)。
有谁知道如何告诉 Visual Studio 做正确的事?
编辑:我正在使用项目依赖项。他们工作不正常。
我正在使用构建后事件来复制 DLL。
问题在于,如果您只是选择调试应用程序,Visual Studio将无法重新编译更改后的 C++ 项目,尽管事实上存在依赖项。
我知道依赖项正在工作,因为如果我选择“构建”(而不是“调试”),就会构建 C++ DLL。