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

时间:2009-05-01 04:31:35

标签: visual-studio debugging visual-studio-2008 visual-studio-debugging

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

34 个答案:

答案 0 :(得分:187)

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

答案 1 :(得分:78)

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

enter image description here

答案 2 :(得分:24)

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

disable

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

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

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

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

答案 3 :(得分:17)

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

答案 4 :(得分:14)

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

答案 5 :(得分:10)

查看此链接

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

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

它对我有用

答案 6 :(得分:7)

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

1)删除所有出现的dll

2)重建解决方案

这应该解决它。

答案 7 :(得分:6)

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

答案 8 :(得分:6)

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

每次都有效:我要解决这个问题

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

答案 9 :(得分:6)

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

答案 10 :(得分:4)

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

答案 11 :(得分:3)

我可以按照以下步骤解决此问题:

  1. 右键单击解决方案(而不是项目),然后选择'属性'
  2. 在左侧面板中,选择'配置属性'
  3. 在右侧面板中,选择' Debug'根据'配置'项目列
  4. 如果您未在解决方案资源管理器中看到解决方案,请执行以下步骤:

    1. 在菜单栏中,转到工具 - >选项
    2. 在左侧面板中,选择'项目和解决方案' (您可能需要检查'显示窗口左下角区域的所有设置
    3. 在右侧面板中,选中“始终显示解决方案'
    4. 我希望这会有所帮助。

答案 12 :(得分:3)

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

C:\用户\用户名\应用程序数据\本地\大会\ DL3

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

此外,这是一个WPF应用程序,但我在搜索中遇到了这个帖子,所以希望这会帮助其他人。

答案 13 :(得分:3)

至少对于非网络应用程序,这可行:

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

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

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

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

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

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

答案 14 :(得分:2)

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

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

答案 15 :(得分:2)

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

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

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

希望这可以帮助某人,因为它似乎仍然会发生。

答案 16 :(得分:2)

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

答案 17 :(得分:2)

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

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

就我而言,这是我的网络dll文件...

答案 18 :(得分:1)

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

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

答案 19 :(得分:1)

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

答案 20 :(得分:1)

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

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

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

<强>解: 卸载插件,并手动删除App Settings中的文件。

答案 21 :(得分:0)

对我有用的一个配置是以下

项目 - &gt; (您的项目)属性 - &gt;调试选项卡   确保配置设置为活动(调试)   在“Unable Debuggers”下,确保选中“启用非托管代码调试”

答案 22 :(得分:0)

我也遇到了这个问题,解决此问题的一种方法是以元数据格式打开文件的项目,将该项目添加为项目引用,而不是dll或exe等文件引用。

答案 23 :(得分:0)

对我来说,我删除了临时asp.net文件中的所有文件,并关闭了我的解决方案并重新打开它并且工作正常

答案 24 :(得分:0)

我在项目中遇到了这个问题,结果发现在AssemblyInfo.cs中注释掉以下行修复了这个问题:

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

答案 25 :(得分:0)

我在SVN的存储库结账处有这个 时间将项目的源代码添加到解决方案中。

解决方案看起来像这样

solution
- project 1
  - Reference '..\assemblies\<companyname>.Customers.Adapter1.dll'
- project 2
  - Reference '<companyname>.Customers.Adapter1.dll' (project reference).
- project '<companyname>.Customers.Adapter1'

要解决:

  • 在项目1中,删除对程序集文件夹dll的引用。

  • 在项目1中,添加项目引用'.Customers.Adapter1'。

答案 26 :(得分:0)

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

答案 27 :(得分:0)

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

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

伟大已经实现!

答案 28 :(得分:0)

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

由于哪个VS无法加载pdb,即使文件浏览器显示的文件正确但是上面提到了同样的错误。

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

答案 29 :(得分:0)

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

这对我有用:

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

答案 30 :(得分:0)

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

答案 31 :(得分:0)

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

<compilation debug="true />
你的web.config中的

答案 32 :(得分:0)

尝试重建然后调试。

答案 33 :(得分:0)

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