调试目标丢失?

56

当我试图构建我的解决方案时,我收到以下错误:

Visual Studio无法启动调试,因为调试目标'c:\target'丢失。请构建项目并重试,或将OutputPath和AssemblyName属性设置为适当的位置,以指向目标程序集的正确位置。

我的输出路径已正确设置为bin\Debug,但exe文件从未创建在该文件夹中。相反,我只得到了exe.configvshost.exevshost.exe.config文件。

有什么想法是怎么回事吗?


你能发布相关的解决方案/项目文件吗? - Kevin Crowell
我发现在尝试了下面几种解决方案后,直到退出并重新启动Visual Studio 2015之前,我仍然会遇到错误。 - Ryan Lundy
19个回答

118
  1. 确保项目的输出路径正确 (项目 > 属性 > 构建 > 输出路径)

  2. 在菜单中选择 构建 > 配置管理器,检查您的主/入口项目是否已勾选构建。如果没有,请勾选它。

  3. 进入属性 > 应用程序,并选择您的项目的输出类型


23
2为我完成了这件事,但我仍然没有弄清它是如何被取消选中的。 - arviman
在我的项目中添加Slow Cheetah配置转换后,我遇到了这个问题。在配置管理器中,构建选项不再针对任何构建目标进行检查。 - Brad Cathey
一年半过去了,仍然很强大。我不知何故在配置中取消了我的构建,并从未想过在那里寻找这个问题。非常感谢CZFox! - Donny McCoy
我今天刚遇到了这个“问题”。有没有快捷键可以让我意外地在配置管理器中关闭“构建”? - LazyGeek
1
第二项解决了我的问题,在我搜索过程中没有找到这个建议,我都快抓狂了,谢谢! - BMB

21

我曾经遇到过同样的问题;

以下解决方案并没有对我起作用:

  • 构建/重新构建整个解决方案
  • 确保输出路径正确(MyProject > Properties > Build > Output > Output path)

以下解决方案成功地解决了我的问题:

  • 只重新构建项目

你找到这个问题的原因了吗? - Denis Besic
1
完全相同的问题...这是唯一有效的方法!谢谢,+1 - BenAlabaster

6
你可以使用文本编辑器打开项目文件,将'c:\target'替换为'bin\Debug'。
编辑:
还有其他更有帮助的答案,但我无法删除我的答案,因为它是被接受的答案。 @CZFox Answer @Yehuda Shapira Answer 更改目标路径的步骤如下:
1. 进入属性 2. 然后进入调试 3. 浏览启动外部程序并选择bin/Debug/.exe文件

1
我的项目文件仍然有那个路径。有趣的是,被标记为正确答案的回答没有得到任何投票,但 CZFox 的回答(37+)也解决了我的问题。 - Gary.Ray

6

我已经解决了这种问题,按照以下步骤进行操作

1.在VS2010中,在解决方案资源管理器上单击右键,选择“构建”。

  1. 再次按Ctrl + F5或F5

5
你可以尝试以下步骤来解决问题:
步骤1:
右键单击解决方案,选择属性
步骤2:
在配置属性中选择“生成”选项按钮。

谢谢,这对我有用。我认为,操作员应该首先检查这个。 - LikePod

4
我刚遇到了这个问题,但是我正在使用Visual Web Developer Express 2010,无论在IDE中还是在项目文件中都找不到任何错误路径。重建或删除构建文件夹也没有帮助。
但是在检查项目的.user文件后,我发现错误路径在那里。如果知道去哪里找,就非常简单。

太好了!这就是Express的解决方案。只需要删除Obj和debug文件夹,然后重新构建才能使其正常工作。 - Jakub Sisak GeoGraphics

2
我遇到了同样的问题,而真正的解决方案非常简单:
如果在你的项目中,Visual Studio在找到第一个错误之前从未成功编译过程序,那么你就会遇到这个错误。我的做法是删除所有有问题的代码(在我的情况下,只留下一个没有任何代码的简单button1_Click)。运行/编译一次代码;退出正在运行的程序,然后这个消息就会消失。
编译器在第一次成功编译时构建各种目录和文件,并由调试器使用。我现在建议在所有新项目中,先定义表单,编译,关闭,然后再开始编码。

1
我发现如果 bin 文件夹中的所有文件都被删除,就会出现这种情况。重新构建应用程序以强制进行完整构建:在解决方案资源管理器中右键单击项目,然后选择“重新生成”。

1
请按照以下步骤解决此问题:
  1. 如果您正在使用VS2010,请将平台目标更改为x64
  2. 选择.NET Framework 3.5
  3. 如果您正在使用任何自定义代码用于Sharepoint,并且想要调试或部署,请使用上述方法...我不知道.NET应用程序的情况。

为什么需要转换到x64? - Johnny Graber

1
尽管这个问题已经得到了回答,但我发现我的解决方案与上述都不一样。诚然,这是一个初学者的错误,在我的解决方案中,我有多个项目,因此在尝试运行解决方案时,错误的项目被设置为启动项目
因此,在我的情况下,不是别人的情况,解决方案是右键单击该项目并选择设置为启动项目

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