多年来,我一直在使用F5(开始调试)来构建代码(如果代码过时),然后进行调试。这也适用于VS 2010,但是今天它只是在没有构建的情况下开始调试。假设我对项目进行了清理,然后按F5而不是对其进行构建,因此它可以运行,它会抛出一条错误消息,指出该exe不存在即可运行。我如何使其首先构建?可能发生了什么变化?
多年来,我一直在使用F5(开始调试)来构建代码(如果代码过时),然后进行调试。这也适用于VS 2010,但是今天它只是在没有构建的情况下开始调试。假设我对项目进行了清理,然后按F5而不是对其进行构建,因此它可以运行,它会抛出一条错误消息,指出该exe不存在即可运行。我如何使其首先构建?可能发生了什么变化?
Answers:
工具+选项,项目和解决方案,构建和运行。“在运行中,当项目已过期时” =始终构建。下一个=不启动。
我遇到了这个问题,原来是Configuration Manager。我最近从“调试” |“混合CPU”更改为“调试|任何CPU”,并且未将项目设置为在此配置下构建
打开配置管理器,并检查是否已选中启动项目的“生成”列中的复选框。我遇到了同样的问题,但是该复选框未处于活动状态,因此我选中了它,现在它可以工作了!
除此之外,还请确保未选中“仅构建启动项目和运行依赖项”(在“工具->选项->项目和解决方案->“构建并运行”中)
解决方案属性页->配置属性->配置下的另一个检查点是:确保在Build Column下的所有复选框都选中了需要重新编译的项目。
对我来说,这是由于构建配置设置而发生的。我的Visual Studio解决方案包含多个项目,这些项目是C#和C ++项目的混合。现在,我意识到,出于某些奇怪的原因,Visual Studio不希望默认情况下不构建C ++项目,这在构建配置设置中很明显。我在解决方案中添加了一个新的C ++项目后就注意到了。我不知道为什么在将新的C#项目添加到解决方案时VS不遵循相同的方法。
在解决方案资源管理器中右键单击解决方案文件->在上下文菜单中单击属性->在左窗格中选择配置属性节点->选择配置节点。它显示了解决方案中所有项目的列表。第一个项目LearnDs是一个C ++项目。请注意第一行的“构建”列中的复选框。未选中。这就是为什么Visual Studio 2010不构建我的C ++项目(按F5键)的原因,该项目自上次成功构建以来就进行了一些更改。
当我选中相应的复选框并保存该解决方案的构建配置设置后,它就开始工作了。现在,每当我按F5键时,都会看到以下提示,因为VS能够检测到自上次构建以来有一些新更改。出现此提示是因为我在“ 工具”菜单->“选项”子菜单->“项目和解决方案”节点->“构建并运行”节点 ->“项目过期时运行”中的设置设置为Prompt to build
。如果您不喜欢此提示,请将其设置为Always build
。
如果您使用的是Resharper,只需重置所有设置