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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以下模块是在启用优化或没有调试信息的情况下构建的相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

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

这每次都有效:解决它我

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

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

另一答案

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

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

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

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

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

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

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

另一答案

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

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

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

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

另一答案

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

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

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

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

我希望这有帮助。

另一答案

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

另一答案

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

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

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

另一答案

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

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

另一答案

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

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

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

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

另一答案

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

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

另一答案

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

另一答案

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

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

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

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

另一答案

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

另一答案

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

<compilation debug="true />

在你的web.config?

另一答案

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

这对我有用:

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

尝试重建然后调试。

另一答案

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

另一答案

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

另一答案

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

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

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

另一答案

对我有用的一种配置如下

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

另一答案

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

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

伟大已经实现!

另一答案

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

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

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

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

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

另一答案

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

另一答案

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

另一答案

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

另一答案

看看这个链接

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

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

这个对我有用

另一答案

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

1)删除所有出现的dll

2)重建解决方案

这应该解决它。

另一答案

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

另一答案

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

以上是关于以下模块是在启用优化或没有调试信息的情况下构建的的主要内容,如果未能解决你的问题,请参考以下文章

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

生成下面的模块时,启用了优化或没有调试信息

VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“

框架是在没有完整位码的情况下构建的 - 框架位码已启用

如何检查 pdb 文件是不是对调试程序集有效

混合模式调试(C++、C#、VB)