点击调试或按下F5时,Visual Studio项目无法构建

52

VS2010 c#,WinForms 项目。

当我点击调试或按 F5 时,它不会自动构建。 如果在调试之前手动构建项目,则会编译并捕获更改。

我的其他项目都能按预期工作。为什么它不能自动构建?


是否发生了任何事情?输出窗口中是否有任何条目? - Jeremy McGee
8个回答

114

在“解决方案资源管理器”中右键单击解决方案(不是项目),然后选择“配置管理器”。检查当前配置是否已关闭构建功能。


2
尽管我的构建选项已经打开,但我取消了它并重新勾选了一遍... F5开始工作了!很奇怪。 - poorva
3
我认为改变平台(任何 CPU,x86 等)会导致构建被关闭。 - Vincent

49

请在“工具”->“选项”中检查您的设置。

进入项目和解决方案区域,构建和运行页面。

有一个设置选项:“在运行时,当项目过期时:”,请确保此设置为“始终构建”。

输入图像描述


15

我遇到了同样的问题,然后我按照以下步骤操作:

  1. 运行“构建清理”
  2. 关闭解决方案
  3. 删除任何 .suo 和 .user 设置文件
  4. 删除任何 .ncb 文件
  5. 重新打开解决方案
  6. 卸载项目
  7. 重新加载项目
  8. 确保将项目设置为再次启动
  9. 调试即可!

您可能只需执行第6-9步,但我不知道如何恢复到那种状态。


我没有任何 .suo、.user 或 .ncb 文件,但是卸载和重新加载项目使其神奇地工作了。谢谢! - Zonus
1
清理工作对我有用。同时我也关闭并重新打开了解决方案,执行步骤1和2。太奇怪了。 - C4F

6

当你处理依赖时

在我的情况下,我正在处理一个可执行文件使用的库。 为了构建可执行代码和库代码并启动调试,需要告诉解决方案将库的依赖项包含在可执行项目的解决方案中:

  • 点击工具菜单,选择选项。转到“项目和解决方案/构建和运行”,“运行时,当项目过时时”需要设置为“始终构建”。
  • 在“解决方案资源管理器”中右键单击解决方案(而不是项目),选择“项目依赖项”。勾选依赖项“Lib1”和“Lib2”的复选框。

1
这就是我要找的东西..谢谢。 - NecroMancer

5

因为我的项目使用prism独立于其他项目,所以我需要在“工具”->“选项”->“项目和解决方案” ->“生成和运行”中取消勾选“仅在运行时构建启动项目和依赖项”。


2

如果有其他人遇到和我相同的问题:对我来说,解决方法是在我的web.config文件中进行如下设置:

<httpRuntime fcnMode="Disabled" targetFramework="4.5" maxRequestLength="40960" executionTimeout="1200" requestValidationMode="2.0" />

这个人所做的是禁用文件更改通知。文件更改通知通常用于在检测到关键文件(如bin或.config文件)有更改时重新启动应用程序域。没有这个功能,我会进行代码更改,按F5,但仍然看到旧代码,并且所有断点都会被覆盖,因为源代码与IISExpress提供的内容不同。

1

我在使用Visual Studio 2013中的解决方案时,遇到了多个项目类似的情况。当我点击运行按钮时,启动项目使用的其中一个项目没有构建。我不得不右键单击启动项目,选择“生成依赖项”,并在其中检查未构建的项目。


0
我曾经为此苦恼了一段时间,结果发现我们办公室的文件夹重定向配置(例如将我的文档指向网络位置)与VS集成不良。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接