当代码更改时,Visual Studio 2010不会在运行之前构建

时间:2010-04-15 15:49:58

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

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

11 个答案:

答案 0 :(得分:164)

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

答案 1 :(得分:118)

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

答案 2 :(得分:21)

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

答案 3 :(得分:16)

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

答案 4 :(得分:9)

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

答案 5 :(得分:3)

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

在网站的“属性页”下找到一个附加选项,在Build设置下,laptop设置为“No Build”,桌面设置为“Build and Run”。只有在笔记本电脑上运行网站后才能找到它而不检查编译器错误。

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

答案 6 :(得分:2)

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

答案 7 :(得分:1)

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

但是每次都要这样做会让人烦恼。

答案 8 :(得分:1)

对我来说,这是因为构建配置设置而发生的。我的visual studio解决方案有许多项目,它们是C#和C ++项目的混合体。现在我意识到,出于一些奇怪的原因, Visual Studio不希望默认构建C ++项目,这在构建配置设置中很明显。我刚刚在解决方案中添加了一个新的C ++项目之后就注意到了它。我不知道为什么VS在解决方案中添加新的C#项目时不遵循相同的方法。

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

enter image description here

我检查相应的复选框并保存解决方案的构建配置设置的那一刻起作用了。现在,每当我按下F5时,我都会看到提示,因为VS能够检测到自上次构建以来有一些新的更改。此提示是因为我在工具菜单中的设置 - >选项子菜单 - >项目和解决方案节点 - >构建和运行节点 - > “在运行时,当项目过期时”设置为Prompt to build。如果您不喜欢此提示,请将其设置为Always build

enter image description here

答案 9 :(得分:1)

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

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

答案 10 :(得分:0)

如果您使用的是Resharper,只需重置所有设置

https://i.stack.imgur.com/VmuM1.png