以下模块是使用优化或未启用调试信息构建的。

142

在调试我的VS 2008 Web项目时,我无法摆脱这个问题。 我已经检查了相关的非Web项目是否处于调试模式,并且它处于活动状态(Debug)。在Windows中删除了.NET 2.0临时文件夹中的所有项目。不确定还需要做什么。


我重置了Visual Studio的设置,然后解决了问题。 - Hamed Hajiloo
34个回答

4

工具 > 选项 > 调试 > 符号 > 指定排除的模块,检查dll或exe是否在排除的模块列表中。


3

至少对于非Web应用程序,这是有效的:

来自:http://www.stellarpc.com/articles/board.aspx?id=40

2-允许调试...

由于一个程序集在您的应用程序中已经构建的本质,您需要更改一些设置才能使代码被Visual Studio Debugger处理。

从解决方案资源管理器中右键单击任何相关项目并选择“属性”。这将打开项目属性面板,为我们提供了许多项目选项。导航到“编译”选项卡(如果您在C#环境中,则为“生成”),并从屏幕底部选择“高级编译选项...”。这会向我们呈现一个提示,其中有两个关键区域:

1)优化 - 取消勾选“启用优化”

2)生成调试信息 - 确保该选项设置为“完整”


有趣...我已经按照这种方式配置了我的项目,即使是这样的配置,消息仍然出现。所以这还不是最终解决方案。 - Junior Mayhé

3
我曾经遇到过这样一个问题,一个解决方案在某个文件夹中可以正常工作,但是如果我将它移到另一个文件夹或其他人构建它,就会出现错误信息。我尝试了清理、重建甚至重启,但仍然无法调试原始代码而不出现此错误。我在系统中搜索引起错误的文件副本,并发现这些副本存储在

c:\User\username\AppData\Local\Assembly\dl3

这是在Win7-64上的情况,其他Windows操作系统也类似。我删除了所有在那里找到的副本,现在不再出现错误信息了。我不需要取消勾选“启用我的代码”。

此外,这是针对WPF应用程序的,但我在搜索时遇到了这个线程,希望这能帮助其他人。


3
我通过以下步骤解决了这个问题:
  1. 右键点击解决方案(而不是项目),选择“属性”
  2. 在左侧面板中,选择“配置属性”
  3. 在右侧面板中,在你的项目下的“配置”列中选择“调试”

如果你在解决方案资源管理器中看不到解决方案,请按照以下步骤进行操作:

  1. 在菜单栏中,转到“工具” -> “选项”
  2. 在左侧面板中,选择“项目和解决方案”(你可能需要在窗口左下角检查“显示所有设置”)
  3. 在右侧面板中,勾选“始终显示解决方案”

希望能对你有所帮助。


2
请按照以下步骤操作:(首先停止调试)
1.右键单击项目解决方案名称或项目 -> 属性。
2.在配置属性下选择配置管理器
3.将配置更改为调试并单击关闭。
4.将配置更改为调试并单击应用 -> 确定
现在重新构建解决方案....!

2

我也遇到了这些问题,并且已经尝试过所有方法。每当我从源代码控制中获取整个解决方案的新副本时,似乎就会出现这种情况。因此,如果我们已经尝试过所有这些方法,删除了Web项目中所有引用(程序集)的dll和.pdb文件,使用了解决方案的清理选项,删除了临时文件,关闭了VS并重新打开,确保选择了调试模式并设置为完整模式,而且优化已关闭,还有什么可以做?!?!


我也很渴望有一个解决方案。它甚至无法生成pdb文件。 - xar

2
当我尝试在不同子网的计算机上远程调试应用程序时,出现了这种情况。如果机器在同一子网上运行,我可以通过网络调试和逐步执行代码。但是,在更改子网后,当从网络中运行时,我无法逐步执行,并收到“以下模块是使用启用优化或没有调试信息构建的”错误消息。
解决方案很简单。将构建好的解决方案复制到托管远程调试的计算机上,并在本地运行即可。

2
我在VS 2010 winForms项目中遇到了这个问题。考虑到这里的大多数人都有web项目,我认为这可能与存储项目的文件夹的访问权限有关。我这么说是因为当这个问题发生在我身上时,Google Drive正在同步我保存项目的文件夹。似乎仅仅禁用同步并不能解决这个问题。
我的解决方案类似于上面其中一个答案:
- 转到“项目属性>编译>高级编译选项” - 选择“启用优化” - 将“常规调试信息”设置为“无” - 取消勾选“定义DEBUG常量” - 点击确定 - 然后返回并将选项恢复到初始状态。
希望这能帮助一些人,因为这似乎仍然会发生。

2

我在使用Visual Studio 2010进行网页项目开发时,也遇到了同样的问题。最终,我找到了导致此错误的原因。我所做的是更改Visual Studio上现有的调试选项:

  • 转到“工具”->“选项”->“调试”->“符号”->“所有模块”
  • 选中“除非排除”单选按钮
  • 单击“指定要排除的模块”链接,然后删除要调试的DLL文件。

在我的情况下,是我的Web DLL文件导致了此问题...


1
我遇到了同样的问题,但原因和解决方案不同。窗口与Gustavo(上面)显示的相同,但路径在"\users\zzz\AppSettings..."(其中zzz是Windows用户名)。
我有一个Excel插件 - 我正在测试插件的安装,所以我通过VS安装功能安装了一份副本。显然,VS试图调试安装的副本和我刚刚启动的副本,并且无法在安装的副本上找到调试符号。
以上解决方案都没有奏效(没有副作用)。 解决方案:卸载插件,并手动删除App Settings中的文件。

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