【发布时间】:2014-06-18 07:49:47
【问题描述】:
我有一个 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的中间文件夹更改为新文件夹并没有 工作)通过检查
obj和bin文件夹(确实如此)来检查Addin是否正在正确重建检查
Shim的obj和bin文件夹是否有变化(没有)阅读这些文章:Visual Studio / MSBUILD does not update .lib files when sources are updated 和 Executable not rebuilt but object files recompiled(不相关,因为如果我修改
Shim会正确重建)检查构建输出日志。唯一的警告是
Project file contains ToolsVersion="12.0". This toolset is unknown or missing.,我认为这是一个不相关的 NuGet(包管理器)错误,因为我运行的是 VS2012 而不是 VS2013。阅读http://msdn.microsoft.com/en-us/library/ez524kew.aspx#sectionToggle6 和http://msdn.microsoft.com/en-us/library/et61xzb3.aspx,这似乎表明我已经做了必要的事情。
加上广泛的谷歌搜索,并查看我能想到的尽可能多的 VS 设置。
我知道我可以通过右键单击并选择“仅项目”=> 重建来强制重建,但这很容易忘记,所以我真的很想解决这个问题。有人可以帮忙吗?
【问题讨论】:
标签: c# c++ visual-studio-2012 build