为什么依赖于C#项目的C++项目在C#项目修改后不会自动重新构建?

4
我有一个Visual Studio 2012的解决方案,其中包含一个C#项目Addin和一个C++项目Shim。如果我对Addin(C#)进行更改,我希望Shim(C++)也会重新构建,但我似乎无法实现这一点。当我按F5时,Addin被重建,但Shim没有被重建。如果我选择Rebuild Solution,那就没问题了,但解决方案中还有许多其他项目,每次都这样做太费时间了。
我在64位Windows Pro 8.0上运行Visual Studio 2012 Update 4,并使用64位处理器。
到目前为止,我尝试过以下方法:

除了广泛搜索和查看尽可能多的VS设置外,我知道我可以通过右键单击并选择“仅项目”=>“重新生成”来强制重新生成,但很容易忘记,所以我真的想解决这个问题。有人能帮忙吗?

1个回答

0

听起来你可能只需要在编译 C++ 项目之前清理一下它,以便获取更新的 C# 输出。我相信,“重建”操作基本上执行了“清理”操作,然后是“构建”操作,这可能就是为什么项目重建对你有效的原因。


1
如果我手动清理和构建(或重建)C++项目,那么一切都很好;问题是,如果我已更改其依赖的C#项目,则希望在按下F5时自动发生这种情况。 - Neil T
你是否查看了“项目/项目构建顺序”以确保两个项目都被正确列出和排序? - Kevin
我相信这就是当我遇到类似问题时找到的地方:http://social.msdn.microsoft.com/Forums/windows/en-US/34fcc251-b6fe-4878-8274-fa094ae34151/how-do-i-set-the-build-order-of-projects-in-visual-studio-solution?forum=winformssetup - Kevin
是的,构建顺序是正确的:Addin 出现在列表中间,紧接着是 Shim - Neil T
如果您清理了解决方案,然后按所需顺序手动构建每个项目(这应该已经可以工作),但是然后对C#项目进行更改并按F5键,会发生什么?我想知道构建是否以某种方式不同步并忽略顺序。 - Kevin
这正是我正在做的事情:尽管C++项目依赖于C#项目,但C++项目并没有被重新构建。如果我选择“重新生成解决方案”,则构建顺序会得到遵守。 - Neil T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接