即使所有内容都是最新的,后期生成也始终运行 我有VisualStudio 2010解决方案,包含很多C++项目(100以上)。 它们中的许多在后期构建事件中有一些行(文件复制等)。 使用tfs生成定义在我们的生成计算机上生成解决方案时会出现问题:

即使所有内容都是最新的,后期生成也始终运行 我有VisualStudio 2010解决方案,包含很多C++项目(100以上)。 它们中的许多在后期构建事件中有一些行(文件复制等)。 使用tfs生成定义在我们的生成计算机上生成解决方案时会出现问题:,c++,visual-studio-2010,build,C++,Visual Studio 2010,Build,即使项目是最新的,也会执行后期生成,并且会在日志文件中写入一行“Creating.unsuccessfulbuild”,因为指定了“AlwaysCreate”。这大大增加了构建时间,使得持续集成构建变得困难。 从VisualStudio运行时不会触发此后期生成 为了缩小问题(排除不存在文件的任何可能的问题等),我创建了一个新的解决方案文件,并使用VisualStudio项目向导向解决方案添加了一个新的C++控制台应用程序项目。我从默认设置更改的唯一内容是PostBuild事件中的这一行:echo

即使项目是最新的,也会执行后期生成,并且会在日志文件中写入一行“Creating.unsuccessfulbuild”,因为指定了“AlwaysCreate”。这大大增加了构建时间,使得持续集成构建变得困难。 从VisualStudio运行时不会触发此后期生成

为了缩小问题(排除不存在文件的任何可能的问题等),我创建了一个新的解决方案文件,并使用VisualStudio项目向导向解决方案添加了一个新的C++控制台应用程序项目。我从默认设置更改的唯一内容是PostBuild事件中的这一行:echo“PostBuild Output”(仅在日志文件中查看触发PostBuild的时间)

然后,我创建了一个运行此解决方案的新构建定义。 即使项目是最新的,后期构建仍然被激活。如果在命令窗口中生成运行msbuild的解决方案文件,也会出现同样的问题。但是,从VisualStudio构建非常完美

有谁能给我一些建议,当项目是“最新的”时,如何避免这种后期构建?
(我已经检查了链接器OutputPath是否与在生成计算机上生成时的$(TargetPath)设置相匹配。)

不知道它是否会帮助您,但此链接可能与此相关:是的,我认为这可能是答案。我将尝试使用自定义版本而不是后期版本。谢谢