如何在项目更改时强制 Visual Studio 2012 重建所有相关项目?
我有两个项目:一个 C++ DLL 和一个 C# WPF 应用程序。 C# 项目有一个生成后命令,用于将 DLL 复制到 Debug 文件夹中。
当我修改 C++ 项目时,会重建 DLL,但不会重建 C# 项目,因此 Debug 文件夹中的 DLL 不会更新。然后我需要清理并重建解决方案,然后才能看到更新后的结果。
我想告诉 VS,每当我更新 C++ 项目时,它应该重建 C# 项目(或至少运行构建后命令)。 C# 项目依赖于 C++ 项目,但不是通过引用。
最佳答案
为了详细说明 Peter 的回答,这就是我所做的。
在解决方案资源管理器中右键单击 C# 项目,然后选择“添加”>“现有项”。
浏览到 C++ 输出文件夹,选择 DLL 文件,不要使用“添加”按钮打开它,而是单击它旁边的下拉按钮,然后选择“添加为链接”。
接下来我最初做的是右键单击添加到您的 C# 项目的链接,然后选择“属性”,然后将“复制到输出目录”更改为“如果更新则复制”。但后来我意识到这将复制调试版本(因为那是链接指向的地方),而不是当前配置。所以我将其保留为“请勿复制”,因为我的命令行会自动选择正确的配置。
所以现在 C# 项目有一个指向 C++ 项目输出的链接,只要 C++ 项目发生变化,它就会触发重建,即使该链接与项目输出无关。
作为记录,这是我在 C# 项目中的构建后命令行(foobar 是 C++ DLL)。
copy "$(SolutionDir)\$(Configuration)\foobar.dll" "$(TargetDir)"
关于c# - 强制 Visual Studio 重建依赖项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640878/