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

问题描述 投票:13回答:6

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

visual-studio
6个回答
11
投票

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

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

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

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

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


29
投票

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

  1. 选择工具→选项→项目和解决方案→构建和运行。
  2. 对于设置“MSBuild项目构建输出详细程度:”选择“诊断”。
  3. 建立。

您将在输出窗口中获得大量输出,详细说明构建正在执行的操作。在构建每个项目之前,它将打印出它认为它已过时的原因。这种输出的一个例子是:

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

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


13
投票

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

工具→选项→项目和解决方案→构建和运行→仅在运行时构建启动项目和依赖项


1
投票

播放按钮是启动调试功能。

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

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


1
投票

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

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


-1
投票

“播放”按钮可能不是您认为的那样,或者您在项目设置中关闭了增量链接等。

© www.soinside.com 2019 - 2024. All rights reserved.