Visual studio 2015 将Makefile项目添加到Visual Studio 2015解决方案总是过时

Visual studio 2015 将Makefile项目添加到Visual Studio 2015解决方案总是过时,visual-studio-2015,nmake,Visual Studio 2015,Nmake,我有一个相当大的解决方案(80个项目)。最近,我升级到VS2015U1并修改了解决方案,使其包含一个makefile(nmake)项目,该项目是所有其他项目的先决条件。其目的是,这个makefile应该将一些第三方软件复制到项目的bin目录中,以便更容易地将内容组合起来进行测试和打包 问题是,这个makefile项目总是显得过时。这意味着当你点击F5进行测试时,我总是会弹出一个对话框 我一直在谷歌上搜索,直到我的谷歌搜索引擎发炎,包括我在stackoverflow上找到的所有东西。列出的解决方案

我有一个相当大的解决方案(80个项目)。最近,我升级到VS2015U1并修改了解决方案,使其包含一个makefile(nmake)项目,该项目是所有其他项目的先决条件。其目的是,这个makefile应该将一些第三方软件复制到项目的bin目录中,以便更容易地将内容组合起来进行测试和打包

问题是,这个makefile项目总是显得过时。这意味着当你点击F5进行测试时,我总是会弹出一个对话框

我一直在谷歌上搜索,直到我的谷歌搜索引擎发炎,包括我在stackoverflow上找到的所有东西。列出的解决方案似乎都没有帮助:

  • 此项目没有列出任何文件,因此没有过期的文件。 我甚至将makefile本身作为项目文件,但事实并非如此 救命啊
  • 我在makefile项目中添加了一个假输出文件 将其包含在属性中,并导致创建make文件 一个当它运行时
  • 我已将生成输出详细性设置为诊断,并且已取消 广泛浏览.log文件,未发现任何文件提示 那是丢失或过时的
  • 其他项目似乎都没有重建,只有一个 makefile项目。当makefile运行时,所有内容都显示为 要复制的文件的最新版本
  • 没有与新项目相关的.tlog文件
  • 进行干净的构建或重建没有帮助,这一项目总是过时的
有人有其他想法吗

所有makefile类型的项目总是过时了(尽管我找不到任何文档来支持这一点)

我发现的一个可能的答案是,您可以创建一个“实用”类型的项目。这种类型的项目只有预生成、预链接和生成后事件。然后可以在其中添加make/nmake命令。有副作用,但我的情况是可以忍受的


你自己试试看,看看你是怎么想的,然后把你的发现报告回来

由于VisualStudio使用的MSBuild与nmake具有相同的用途,因此我将nmake项目替换为.csproj文件中的直接MSBuild项目,并将其作为项目添加到我的解决方案中,使其他项目依赖于它。它不会在启动调试器时弹出“项目过期”对话框,并且可以正确识别我要创建的文件何时过期


有关如何指定构建目标等的参考信息,请参阅。

Hi,我有一个类似的问题。我将一个大型解决方案迁移到VS2015中。其中两个项目是makefile。它们总是被标记为过期,但即使使用构建诊断,也没有给出任何原因。你有没有找到一种方法来找出VS2015到底担心什么?有什么副作用?