除非我手动选择“重建”,否则Visual Studio 2010不会重建已更改的代码

时间:2010-08-16 00:04:33

标签: visual-studio-2010 build

在过去一周左右的时间里,我注意到Visual Studio 2010没有重新编译代码,除非我强制它。这是一个带WPF的C#4.0项目。我点击了F5,好像它使用了重建,如果代码已经改变,然后启动应用程序。相反,它现在在左下角的状态栏中显示“Build Successful”并启动应用程序。但它实际上并没有重建应用程序。我可以说因为:

  1. 即使我进行了大量更改,它也会很快“编译”并且
  2. 如果我尝试设置断点,它会发出代码已更改但不会更改的警告 设置断点。
  3. 无论代码中是否存在错误,都会发生这种情况,所以如果构建失败,我不相信它会启动旧版本。

    如果我从菜单中选择重建项目,那么它就可以了。然而,这种阻碍了我通常的工作流程。我经常忘记这样做,然后花10分钟试图找出我的变化到底出了什么问题。更糟糕的是,有时候我会立即注意到构建错误。

    F6以“重建”解决方案也没有做任何事情。我可能会使用哪些设置会导致此行为?

3 个答案:

答案 0 :(得分:127)

加,我想出来了。在一个太深的夜晚之后,当我搞乱构建设置时,我自然会做些蠢事。以下是要检查的事项:

  1. 工具>>选项>>项目和解决方案>>构建并运行>>检查“运行时,项目是否已过期”设置为“始终构建”或“提示构建”
  2. 构建>>配置管理器>>检查是否要为要为每个需要使用的配置构建的所有项目选中“Build”。

答案 1 :(得分:1)

在2020年,VS 2019(社区版)和WPF项目都没有重建(被视为“最新”),即使重建了所引用的项目,也存在类似的问题。上面的建议(“工具”->“选项和配置管理器”)在很多地方都可以使用,尽管对我而言不起作用。

最终更改.csproj文件并添加以下行(在ProertyGroup下)对我有用:

<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>

答案 2 :(得分:0)

如果解决方案中有多个项目,请检查配置管理器。 如果你有一些项目&#34;任何CPU&#34;而一些&#34; x86&#34;,将只构建相同架构的项目。 与&#34; Debug&#34;相同和&#34; Realese&#34;配置。