【问题标题】:Visual Studio 2010 isn't building before a run when there are code changes发生代码更改时,Visual Studio 2010 不会在运行前构建
【发布时间】:2010-04-15 15:49:57
【问题描述】:

多年来,我一直使用 F5(开始调试)来构建代码(如果它已过时),然后进行调试。这也适用于 VS 2010,但是今天它只是在没有构建的情况下开始调试。假设我对项目进行了清理,然后按 F5 而不是构建它以便它可以运行它会抛出一条错误消息,指出该 exe 不存在可运行。我如何使它首先构建?会发生什么变化?

【问题讨论】:

  • 我遇到了同样的问题。它从一天到第二天发生,我没有在“选项”对话框中更改任何内容。汉斯的回答解决了我的问题。
  • 我最近遇到了这个问题,向 msft connect 发布了一个错误报告,表达你的投票希望让他们修复它connect.microsoft.com/VisualStudio/feedback/details/626414/…

标签: visual-studio visual-studio-2010 build debugging


【解决方案1】:

工具 + 选项、项目和解决方案、构建和运行。 “在运行时,当项目过期时”= 始终构建。下一个 = 不启动。

【讨论】:

  • 刚刚检查并设置为始终构建...所以它不应该这样做。
  • 在我的机器上工作。曾经在你的身上工作。接下来是重启。
  • 重启并没有修复它,但改变了“在运行时,当项目过期时”=始终构建为不启动保存/退出 VS,然后将其改回修复它。
  • 这是一个错误。想要将其提交到 connect.microsoft.com?
  • @Hans:当然,你如何重现这个?除非它是可重现的,否则让 microsoft connect 的人们相信这确实是一个问题几乎是不可能的。这才有意义,好像你不能,那么开发人员之一的机会就是不能
【解决方案2】:

我遇到了这个问题,结果是配置管理器。我最近从 Debug|Mixed CPU 更改为 Debug|Any CPU 并且项目未设置为在此配置下构建

【讨论】:

  • 这也为我解决了这个问题 - 似乎是导致该问题的可能原因。
  • 很棒的提示!不是你会想到的。谢谢
  • 是的,这为我解决了问题!只需单击所有复选框旁边的复选框即可在配置管理器中构建。谢谢蒂姆!
  • 也为我修复了一个类似的问题。谢谢!
  • 我的问题是选择了错误的配置!我有一个单独的项目,其中每个配置都是不同的语言,并且组合设置为这些配置之一。刚刚把它改成 Debug_Unicode,现在它正在构建中!
【解决方案3】:

打开您的配置管理器并检查是否选中了启动项目的构建列中的复选框。我遇到了同样的问题,但是复选框没有激活,所以我检查了它,现在它可以工作了!

【讨论】:

  • 谢谢帮助我。我忽略了这个选项。 ;)
【解决方案4】:

除上述之外,还要确保未选中“仅在运行时构建启动项目和依赖项”(在工具-->选项-->项目和解决方案-->构建和运行中)

【讨论】:

  • 我遇到了这个问题,这就是解决方案。谢谢。
  • 这为我修复了它,但似乎是一个错误。有问题的项目是一个依赖项,应该构建。
  • 如果你有多个启动项目或任何测试项目,这是一个可怕的设置。
  • 谢谢!!微软应该重新措辞和改变这一点,使其有意义。我不清楚检查时它意味着什么。
【解决方案5】:

我也有这个问题。我检查了所有建议都无济于事。事实证明我的电脑上的时钟提前了大约 12 小时,我正在保存到网络驱动器。文件的时间戳不正常,VS 认为不需要构建我的项目,因为这些文件是最新的。

【讨论】:

    【解决方案6】:

    现在我一直很困惑,为什么我的笔记本电脑(双核 2ghz,2Gb 内存)编译我的网站比我的台式机(四核 3ghz,16Gb 内存)更快。两者都有 SSD 磁盘。构建选项都设置正确(相同,核心数 = 并行构建),但笔记本电脑在几秒钟内运行该站点,而 dekstop 在大约 30 秒内运行该站点。

    在站点的“属性页面”下找到了一个附加选项,在“构建”设置下,笔记本电脑设置为“无构建”,台式机设置为“构建并运行”。网站在笔记本电脑上运行后才发现它,没有检查编译器错误。

    将来可能会对某人有所帮助,所以我想我会把它添加到这篇文章中

    【讨论】:

      【解决方案7】:

      另一个检查点在解决方案属性页下 -->Configuration Properties --> configuration:确保Build Column下的所有复选框都选中了需要重新编译的项目。

      【讨论】:

        【解决方案8】:

        我尝试了以前的解决方案,结果好坏参半。但是每当我去 Build -> Clean Solution 时,它似乎对我有用

        但是每次都必须这样做很烦人。

        【讨论】:

          【解决方案9】:

          对我来说,这是由于构建配置设置而发生的。我的 Visual Studio 解决方案有许多混合了 C# 和 C++ 项目的项目。现在我意识到,出于某种奇怪的原因,Visual Studio 默认不喜欢构建 C++ 项目,这在构建配置设置中很明显。在将新的 C++ 项目添加到解决方案中后,我注意到了这一点。我不知道为什么 VS 在将新的 C# 项目添加到解决方案中时不遵循相同的方法。

          在解决方案资源管理器中右键单击解决方案文件 -> 在上下文菜单中单击属性 -> 在左窗格中选择配置属性节点 -> 选择配置节点。它显示解决方案中所有项目的列表。第一个项目 LearnDs 是一个 C++ 项目。请注意第一行构建列中的复选框。它未选中。这就是为什么 Visual Studio 2010 没有构建我的 C++ 项目(按 F5 键)的原因,该项目包含自上次成功构建以来的一些更改。

          当我选中相应的复选框并保存解决方案的构建配置设置时,它就起作用了。现在,每当我按 F5 时,我都会看到以下提示,因为 VS 能够检测到自上次构建以来有一些新更改。这个提示是因为我在Tools menu -> Options submenu -> Projects and Solutions node -> Build and Run Node -> “On Run, when projects are out of date”中的设置设置为@987654325 @。如果您不喜欢此提示,请将其设置为 Always build

          【讨论】:

            【解决方案10】:

            工具 --> 选项 --> 项目和解决方案。

            1. 设置为始终构建/提示构建“运行时,项目已过期”
            2. 取消选中“仅在运行时构建启动项目和依赖项”复选框

            【讨论】:

              猜你喜欢
              • 2023-04-11
              • 2023-04-01
              • 1970-01-01
              • 2011-11-14
              • 1970-01-01
              • 2015-03-22
              • 1970-01-01
              • 2019-08-09
              • 2016-02-27
              相关资源
              最近更新 更多