c# - 强制 Visual Studio 重建依赖项目

标签 c# c++ visual-studio visual-studio-2012 projects-and-solutions

如何在项目更改时强制 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/

相关文章:

c# - 在 mvc razor 中编码或解码保存在 cookie 中的空间

c++ - 在 CMake 项目中解耦应用程序和库

c++ - 如果 ieeefloat64 变量未在 C++ 中初始化,会发生什么情况?

jquery - jQuery 智能感知插件现在可用于 Visual Studio 吗?

c# - 字符串上的自定义大写

c# - 有什么方法可以将JSON查询转换为Elasticsearch Nest搜索查询吗?

c# - 创建可重用库的技巧

c++ - 返回 char* 函数的内存管理

c++ - 在 C 代码中设置 rtsp_flags 以监听 ffmpeg

c++ - 重命名项目