我有一个Visual Studio 2012解决方案,其中包含一个C#项目Addin
和一个C ++项目Shim
。如果我对Addin
(C#)进行了更改,我希望Shim
(C ++)重建,但我似乎无法实现它。当我按F5时,Addin
被重建,但Shim
没有。如果我Rebuild Solution
那么它很好,但解决方案中还有许多其他项目,每次都需要很长时间。
我正在使用64位处理器在64位Windows Pro 8.0上运行Visual Studio 2012 Update 4.
这是我到目前为止所尝试的:
Shim
依赖Addin
来自'项目依赖关系......'
设置Shim
以引用Addin
(已添加参考)将“参考装配输出”和“链接库依赖关系”设置为True
将Addin
的项目文件夹和输出文件夹添加到Shim
的属性=>下的“其他包含目录” Config => C / C ++
阅读本文:Visual Studio 2012 doesn't build project on run when its dependencies change(不好)
阅读本文:VS 2012 Does Not Build Dependent Project(将Shim
的中间文件夹更改为新文件夹没有
工作)
通过查看Addin
和obj
文件夹(确实如此)检查bin
是否正在重建
检查obj
的{{1}}和bin
个文件夹是否有任何更改(没有)
阅读这些文章:Visual Studio / MSBUILD does not update .lib files when sources are updated和Executable not rebuilt but object files recompiled(如果我修改Shim
正确重建,则不相关)
检查构建输出日志。唯一的警告是Shim
,我认为这是一个无关的NuGet(包管理器)错误,因为我正在运行VS2012而不是VS2013。
阅读http://msdn.microsoft.com/en-us/library/ez524kew.aspx#sectionToggle6和http://msdn.microsoft.com/en-us/library/et61xzb3.aspx,这似乎表明我已经做了必要的事情。
加上谷歌广泛搜索并查看尽可能多的VS设置。
我知道我可以通过右键单击并选择“仅限项目”=>来强制重建。重建,但很容易忘记,所以我真的想解决这个问题。有人可以帮忙吗?
答案 0 :(得分:0)
听起来你可能只需要在构建之前清理c ++项目,以便它可以提取更新的c#输出。我相信"重建"行动基本上执行"清洁"然后是" Build"这可能就是Project Rebuild为你工作的原因。