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

skb*_*skb 13 visual-studio

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

Mar*_*uer 29

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

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

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

Project 'Foo' is not up to date. Input file 'c:\Bar.cs' is modified after output file
Run Code Online (Sandbox Code Playgroud)

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

  • 太感谢了!对我来说,"真正的原因"是几乎所有项目中的附加配置文件,其中"复制到输出目录"设置为"始终复制"而不是"复制如果更新". (4认同)

wom*_*omp 13

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

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


Qui*_*son 12

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

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

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

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

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

  • -1因为这不能解决他所遇到的问题.出于某种原因,VS没有承认构建依赖项是最新的,并且强制重建.我仍然遇到这个问题(自从转向VS 2012以来),并且会感激任何建议! (8认同)