以下模块是在启用优化或没有调试信息的情况下构建的

问题描述 投票:138回答:33

调试时我无法在VS 2008 Web项目中摆脱这种情况。我已经检查过它在非网络项目的调试模式下它是在Active(调试)中。删除了Windows中我的.NET 2.0临时文件夹中的所有项目。不知道还有什么可以做的。

visual-studio debugging visual-studio-2008 visual-studio-debugging
33个回答
187
投票

尝试在工具/选项/调试/选项中禁用“启用我的代码”。


6
投票

我也得到了这个问题,出于某种原因它发生了3到4次;我认为它必须是Visual Studio 2005 bug / hick up(或至少我的安装)。

这每次都有效:解决它我

  1. 右键单击我的解决方案,然后单击属性。
  2. 打开配置管理器。
  3. 在下拉菜单中选择Debug(如果尚未选中)。
  4. 取消选中BUILD。然后重新检查一下。
  5. 重建解决方案。

4
投票

工具>选项>调试>符号>指定排除的模块,如果排除模块列表中的dll或exe,则查看


3
投票

至少对于非Web应用程序,这适用于:

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

2 - 允许调试......

由于应用程序中已构建其中一个程序集的性质,您需要更改一些设置以允许Visual Studio调试程序处理代码。

右键单击解决方案资源管理器中的任何项目,然后选择“属性”。这将打开项目属性面板,让我们可以访问项目的很多选项。导航到“Complile”选项卡(如果您在C#环境中,则为“Build”)并从屏幕底部选择“Advanced Compile Options ...”。这给我们提供了一个有两个关键领域的提示:

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

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


3
投票

我在某个文件夹中遇到了这个问题的解决方案,但是如果我把它移到另一个文件夹或其他文件夹构建它,我没有得到消息。我做了干净,重建,甚至重新启动,仍然无法得到原始调试没有此消息。我在系统中搜索了导致错误的文件副本,我发现副本一直存在

C:\用户\用户名\ AppData的\本地\装配\ DL3

这是在Win7-64上,但在其他Windows操作系统上将类似。我删除了我在那里找到的所有副本,但我不再收到消息。我不需要取消选中“启用我的代码”。

此外,这是一个WPF应用程序,但我在我的搜索中遇到了这个线程,所以希望这将有助于其他人。


3
投票

我可以通过以下步骤解决此问题:

  1. 右键单击解决方案(而不是项目),然后选择“属性”
  2. 在左侧面板中,选择“配置属性”
  3. 在右侧面板中,为项目选择“配置”列下的“调试”

如果在解决方案资源管理器中未看到解决方案,请执行以下步骤:

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

我希望这有帮助。


2
投票

我也拥有这些。我已经完成了这一切。每当我从源代码管理中获得整个解决方案的新副本时,我就会发生这种情况。因此,如果我们已经完成了所有这些,删除了web项目中所有引用(程序集)的dll和.pdb文件,使用了解决方案中的clean选项,删除了临时文件,关闭了VS并重新打开,确保选择了调试模式并设置为完全和最优化关闭,还有什么?!?!?!


2
投票

我在Visual Studio 2010中的Web项目中遇到了同样的问题,最后我找到了收到此消息的原因。我所做的是更改Visual Studio上现有的调试选项:

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

在我的情况下,这是我的网络DLL文件...


2
投票

尝试在属于不同子网的计算机上远程调试应用程序时,我有这个。如果机器在同一个子网上,我可以通过网络运行代码来调试和逐步执行代码。更改子网后,虽然从网络运行时无法单步执行并且获得了“以下模块是在启用了优化或没有调试信息的情况下构建的”。

解决方案?简单。将构建的解决方案复制到托管远程调试的计算机并在本地运行。


2
投票

如果在VS 2010 winForms项目中发生这种情况。看到这里的大多数人都有网络项目,我认为这与访问存储项目的文件夹有关。我这样说是因为当我遇到这个问题时Google Drive正在同步我保留项目的文件夹。似乎只是禁用同步不能解决问题。

我的解决方案类似于上面的答案之一:

  • 去“项目属性>编译>高级编译选项”
  • 选中“启用优化”
  • 将“常规调试信息:”设置为“无”
  • 未选中“定义DEBUG常量”
  • 按下OK
  • 然后返回并将选项返回到其初始状态。

希望这有助于某人,因为它似乎仍然发生。


1
投票

对我来说,检查项目属性中的“优化代码”框,保存,取消选中它,然后重新保存为我做了。

禁用“启用我的代码”也很有效,但这更像是一种解决方法,而不是修复,因为我不想要这种设置。


78
投票

我有同样的问题,发现我没有在我的构建中输出调试信息。如果右键单击项目并转到“属性”,然后选择“构建”选项卡,页面底部会显示“高级...”按钮,该按钮将显示您输出调试信息的设置。将其设置为“完整”,错误应该消失。


1
投票

我有同样的问题,但有不同的原因和解决方案。该窗口与Gustavo(上图)显示的窗口相同,但路径位于:“\ users \ zzz \ AppSettings ...”(其中zzz是windows用户名)

我有一个Excel插件 - 我正在测试插件的安装,所以我通过VS安装功能安装了一个副本。 VS显然试图调试已安装的副本和我刚刚启动的副本,并且无法在已安装的副本上找到调试符号。

上述解决方案均无效(无副作用),

解决方案:卸载插件,并手动删除App Settings中的文件。


1
投票

遵循这个:(第一次停止debuging) 1:右键单击项目解决方案名称或项目 - >属性 2:在Configuration Properties下选择配置管理器 3:将配置更改为调试,然后单击关闭 4:将配置更改为debug,然后单击Apply - > OK 现在重建解决方案......!


0
投票

你提到它是一个网络项目......你有吗?

<compilation debug="true />

在你的web.config?


0
投票

使用Release配置构建后,我遇到了同样的问题。事实证明,当我切换回Debug时,VS没有检测到任何差异,因此它没有更新bin文件夹中的.dll和.pdb文件。

这对我有用:

  1. 运行iisreset(清理临时文件夹)
  2. 保存web.config(强制VS实际重建)
  3. 在Debug上重建
  4. 启动项目

0
投票

尝试重建然后调试。


0
投票

我的情况如下:webservice引用了lib1.dll。后来我删除了引用,因为它已不再使用。但是lib1.dll仍然在bin文件夹中。因为没有引用库,所以Rebuild和Clean操作没有帮助。从bin文件夹手动删除lib1.dll后,我已经删除了这条消息。


0
投票

如果要发布到IIS而不使用内置Web服务器 - 或IIS表示 - 请确保您的发布配置文件设置处于调试模式。在vs 11中默认情况下它处于发布模式。


0
投票

只是补充一下,我正在看这个博客,找到我面临的同样问题的解决方案。不幸的是,上面提到的解决方案对我没有帮助最后我发现,我正在通过安装程序安装我的位(以及.pdb)并在安装文件夹上显式设置权限。

因为VS无法加载pdb,即使文件浏览器显示正确的文件但它给出了上面提到的相同错误。

取消选中“启用我的代码”并从安装程序中删除权限设置后,VS开始加载模块。


0
投票

对我有用的一种配置如下

项目 - >(您的项目)属性 - >调试选项卡确保配置设置为活动(调试)在“无法调试器”下,确保选中“启用非托管代码调试”


0
投票

我正在创建一个Windows服务,这对我有用:

  • 卸载该服务。
  • 打开命令提示符并转到c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  • installutil C:\ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

伟大已经实现!


24
投票

我刚刚遇到这个问题,并迅速决定发布的其他答案不适用于我。

我是项目的所有者,我知道它是使用调试信息构建的,并且没有优化。此外,我很乐意选择禁用警告作为我的首选。隐藏/忽略此警告可能会成为未来调试会话中的问题。

由于这只是在我signed the assembly之后才开始发生,这让我对我的快速修复有所了解:暂时删除我的DLL的强名称(并使用EXE)。瞧!问题解决了。

一个更好的,长期的解决方案,可以采取添加后构建操作的形式来更新GAC,以便它具有已签名DLL的​​最新版本。

但是现在,我很高兴继续这种转移,继续研究让我参与这个调试会话的问题。


0
投票

案例:在SharePoint开发中使用Console项目测试程序集 - 如果您正在进行SharePoint开发并在VS中看到此警报,请确保在测试控制台应用程序之前将SP程序集部署到GAC如果您的核心SP项目具有您需要的方法在您的控制台测试应用中调用。


17
投票

解决。删除了所讨论的dll的所有出现(所有项目)。


14
投票

VS2012,清理和重建为我解决了这个问题。 “属性” - >“构建” - >未选中优化代码。 “属性” - >“构建” - >“高级” - >调试信息:完整


10
投票

看看这个链接

http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/43cb16ba-0759-42ab-8e7d-9f168ace3b6f

尝试在工具 - >选项 - >调试 - >常规中取消选中“仅我的代码”。

这个对我有用


7
投票

猜测VS 2008并没有正确地重建dll。

1)删除所有出现的dll

2)重建解决方案

这应该解决它。


6
投票

检查构建配置选项。确保关闭优化并定义DEBUG常量。


6
投票

如果其他一切都失败了,请尝试在项目的属性中重命名程序集名称。这为我解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.