为什么每次点击“播放”时VS都必须重建我的所有项目?

时间:2009-09-25 23:48:54

标签: visual-studio

我是否有一些奇怪的设置让这种情况发生?我只想更改消息框的文本(并且没有其他程序集依赖于那个)但是VS重建了我的所有项目并且它需要永远。有什么想法吗?

6 个答案:

答案 0 :(得分:29)

您可以找出导致Visual Studio认为每个项目已过期的原因,然后直接解决问题。

  1. 选择工具→选项→项目和解决方案→构建和运行。
  2. 对于设置" MSBuild项目构建输出详细程度:"选择"诊断"。
  3. 构建
  4. 您将在输出窗口中获得巨大的输出量,详细说明构建正在执行的操作。在构建每个项目之前,它将打印出它认为它已过时的原因。这种输出的一个例子是:

    Project 'Foo' is not up to date. Input file 'c:\Bar.cs' is modified after output file
    

    这些"不是最新的"消息应该指向您不必要的构建的真正原因,然后您可以修复它。

答案 1 :(得分:13)

如果选中仅在Run上构建启动项目和依赖项的选项,则在不使用Configurations的情况下对此进行一些有限的控制。

工具→选项→项目和解决方案→构建和运行→仅在运行

上构建启动项目和依赖项

答案 2 :(得分:11)

您可以通过构建菜单从常规版本中排除项目..

构建→配置管理器→取消选中您不想总是构建的项目。

这可以通过仅构建绝对需要每次构建的项目来大大加快构建时间。

请注意,如果需要重建项目,则必须构建您未单独取消选择的项目(右键单击>在项目上构建等)。

您还可以设置备用构建配置,以便混合和匹配将在何时构建的内容。

答案 3 :(得分:1)

播放按钮是开始调试功能。

是的,Visual Studio会要求解决方案中的每个项目都在此时构建。但是要求建立和实际建设是不同的事情。要求建立只是说,如果你愿意,即将再做一些事情。然后,MsBuild将进行一些检查,并决定是否应该实际构建底层项目。

如果您的项目实际上正在构建,那么可能还会出现其他一些问题。你能给我们一些更多的信息,如语言,项目类型等......

答案 4 :(得分:1)

还可以更改设置'在运行中,当项目过时''永不建立'而不是'询问'。 (它在菜单'工具 - >选项 - >项目和解决方案 - >构建和运行) 这样,每次进行更改以构建过时的项目时都需要按F6,但至少它允许您在没有重新编译的情况下使用F5进行调试。

我不得不说这不太理想,但这是件好事。 虽然我在使用casini时有一个问题:每次按F5时,app-pool都没有回复,因为casini一直在运行。当您遇到问题时,您将不得不从icontray手动停止casini,但与重建整个站点相比,这是一个重要的节省时间。

答案 5 :(得分:-1)

“播放”按钮可能与您的想法不同,或者您在“项目设置”中关闭了增量链接等。