调试时,我无法在我的 VS 2008 Web 项目中摆脱这个问题。我已经检查过它在有问题的非 Web 项目上处于调试模式,并且它处于 Active(Debug) 状态。删除了 Windows 中我的 .NET 2.0 临时文件夹中的所有项目。不知道还能在这里做什么。
34 回答
尝试在工具/选项/调试/选项中禁用“仅启用我的代码”。
我遇到了同样的问题,发现我没有在我的构建中输出我的调试信息。如果您右键单击项目并转到“属性”,然后选择“构建”选项卡,在页面底部有一个“高级...”按钮,它将显示您的设置为您输出调试信息。将其设置为“完整”,错误应该会消失。
我刚刚遇到了这个问题,并很快决定发布的其他答案不适用于我。
我是该项目的所有者,我知道它是使用调试信息构建的,并且没有进行优化。此外,我从不乐意选择禁用警告作为我的第一选择。隐藏/忽略此警告可能会成为未来调试会话中的一个问题。
由于这只是在我签署程序集后才开始发生,这让我了解了我的快速修复:暂时删除我的 DLL 的强名称(并使用 EXE)。瞧!问题解决了。
更好的长期解决方案可以采用添加构建后操作的形式来更新GAC,使其具有最新版本的签名 DLL。
但就目前而言,我很高兴从这个转移中继续前进,并继续解决将我带到这个调试会话的问题。
解决。删除了有问题的 dll 的所有出现(所有项目)。
VS2012,清理和重建为我解决了这个问题。“属性”->“构建”->优化代码未选中。“属性”->“构建”->“高级”-> 调试信息:完整
看看这个链接
http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/43cb16ba-0759-42ab-8e7d-9f168ace3b6f
尝试在工具->选项->调试->常规中取消选中“只是我的代码”。
这个对我有用
猜测 VS 2008 没有正确重建 dll。
1)删除所有出现的dll
2)重建解决方案
那应该解决它。
如果一切都失败了,请尝试在项目的属性中重命名程序集名称。这为我解决了这个问题。
检查您的构建配置选项。确保关闭优化并定义 DEBUG 常量。
我也遇到了这个问题,由于某种原因,它发生了 3 或 4 次;我认为它一定是 Visual Studio 2005 的错误/故障(或至少是我的安装)。
这每次都有效:要修复它,我
- 右键单击我的解决方案,然后单击属性。
- 打开配置管理器。
- 在下拉菜单中选择调试(如果尚未选择)。
- 取消选中构建。然后重新检查它。
- 重建解决方案。
工具 > 选项 > 调试 > 符号 > 指定排除模块查看排除模块列表中的 dll 或 exe
至少对于非 Web 应用程序,这是有效的:
来自:http ://www.stellarpc.com/articles/board.aspx?id=40
2 - 允许调试...
由于在应用程序中构建了其中一个程序集的性质,您需要更改一些设置以允许 Visual Studio 调试器处理代码。
从解决方案资源管理器中右键单击任何有问题的项目,然后选择“属性”。这将打开项目属性面板,让我们可以访问项目的许多选项。导航到“编译”选项卡(如果您在 C# 环境中,则导航到“构建”)并从屏幕底部选择“高级编译选项...”。这为我们提供了一个提示,其中包含两个关键领域:
1) 优化 - 取消选中“启用优化”
2) 生成调试信息 - 确保该选项设置为“完整”
我在某个文件夹中的解决方案遇到了这个问题,但是如果我将它移到另一个文件夹或其他人构建它,我没有收到消息。我进行了清理、重建,甚至重新启动,但如果没有此消息,仍然无法调试原始文件。我在我的系统中搜索导致错误的文件的副本,发现副本保存在
c:\用户\用户名\AppData\Local\Assembly\dl3
这是在 Win7-64 上,但在其他 Windows 操作系统上也类似。我删除了在那里找到的所有副本,我不再收到消息。我不需要取消选中“仅启用我的代码”。
此外,这是针对 WPF 应用程序的,但我在搜索中遇到了这个线程,所以希望这对其他人有帮助。
我能够通过以下步骤解决此问题:
- 右键单击解决方案(不是项目),然后选择“属性”
- 在左侧面板中,选择“配置属性”
- 在右侧面板中,为您的项目选择“配置”列下的“调试”
如果您没有在解决方案资源管理器中看到该解决方案,请按照下列步骤操作:
- 在菜单栏中,转到工具 -> 选项
- 在左侧面板中,选择“项目和解决方案”(您可能需要选中窗口左下角的“显示所有设置”
- 在右侧面板中,选中“始终显示解决方案”
我希望这有帮助。
我在尝试远程调试属于不同子网的计算机上的应用程序时遇到了这个问题。如果机器在同一个子网上,我可以在通过网络运行代码时调试和单步调试代码。更改子网后,虽然我在从网络运行时无法单步执行并且得到“以下模块是在启用优化或没有调试信息的情况下构建的”。
解决方案?简单的。将构建的解决方案复制到托管远程调试的机器上并在本地运行。
这些我也都有。而我已经完成了这一切。每次我从源代码控制中获得整个解决方案的新副本时,似乎都会发生这种情况。因此,如果我们已经完成了所有这些,删除了 web 项目中所有引用(程序集)的 dll 和 .pdb 文件,使用了解决方案上的 clean 选项,删除了临时文件,关闭了 VS 并重新打开,确保选择了调试模式并设置为满,优化关闭,还有什么?!?!?!
我在 Visual Studio 2010 中的 Web 项目中遇到了同样的问题,最后我找到了收到此消息的原因。我所做的是更改 Visual Studio 上现有的调试选项:
- 转到工具->选项->调试->符号->所有模块
- 检查“除非排除”单选按钮
- 单击链接“指定排除的模块”,然后删除要调试的 DLL。
就我而言,这是我的网络 dll 文件...
我在 VS 2010 winForms 项目中遇到过这种情况。看到这里的大多数人都有网络项目,我认为这与访问存储项目的文件夹有关。我这样说是因为当我遇到这个问题时,Google Drive 正在同步我保存项目的文件夹。似乎只是禁用同步并不能解决问题。
我的解决方案类似于上面的答案之一:
- 转到“项目属性>编译>高级编译选项”
- 选中“启用优化”
- 将“常规调试信息:”设置为“无”
- 未选中“定义调试常量”
- 然后按确定
- 然后返回并将选项返回到初始状态。
希望这对某人有所帮助,因为这似乎仍然会发生。
按照这个:(首先停止调试)
1:右键单击项目解决方案名称或项目- >属性
2:在配置属性下选择配置管理器
3:更改配置以 调试并单击关闭
4:更改配置以调试并单击应用 - > OK
现在重建解决方案....!
我有同样的问题,但原因和解决方案不同。该窗口与 Gustavo(上图)显示的窗口相同,但路径位于: “\users\zzz\AppSettings...”(其中 zzz 是 Windows 用户名)
我有一个 Excel 插件 - 我正在测试插件的安装,所以我通过 VS 安装功能安装了一个副本。VS 显然是在尝试调试已安装的副本和我刚刚启动的副本,并且在已安装的副本上找不到调试符号。
上述解决方案均无效(无副作用),
解决方案: 卸载插件,并手动删除应用程序设置中的文件。
对我来说,选中项目属性中的“优化代码”框,保存,取消选中,然后重新保存为我做了。
禁用“仅启用我的代码”也有效,但这更像是一种解决方法而不是修复,因为我不想要那个设置。
如果您要发布到 IIS 并且不使用内置 Web 服务器 - 或 IIS express - 确保您的发布配置文件设置处于调试模式。默认情况下,在 vs 11 中它处于发布模式。
我在 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”的项目引用。
I had this problem with a project and it turned out commenting out the following line in AssemblyInfo.cs fixed the issue:
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
我正在创建一个 Windows 服务,这对我有用:
- 卸载服务。
- 打开命令提示符并转到 c:\Windows\Microsoft.NET\Framework64\v4.0.30319
- installutil C:\MyFantabulusWindowService\bin\Debug\MyFantabulusWindowService.exe
大功告成!
你提到这是一个网络项目......你有吗
<compilation debug="true />
在您的 web.config 中?
只是补充一下,我正在查看此博客以找到解决我面临的相同问题的方法。不幸的是,上面提到的解决方案对我没有帮助。最后我发现,我正在通过安装程序安装我的位(连同 .pdb),并在安装文件夹上明确设置权限。
因此,即使文件浏览器显示正确的文件,VS 也无法加载 pdb,但它给出了上述相同的错误。
一旦我取消选中“仅启用我的代码”并从安装程序中删除权限设置,VS 就开始加载模块。
对我有用的一种配置如下
项目-->(您的项目)属性-->调试选项卡确保配置设置为活动(调试)在“无法调试器”下,确保选中“启用非托管代码调试”
在使用 Release 配置构建后,我遇到了同样的问题。事实证明,当我切换回 Debug 时,VS 没有检测到任何差异,因此它没有更新 bin 文件夹中的 .dll 和 .pdb 文件。
这对我有用:
- 运行 iisreset(清理临时文件夹)
- 保存 web.config(强制 VS 实际重建)
- 调试时重建
- 启动项目
尝试重建然后调试。
我的情况如下:webservice 引用了 lib1.dll。后来我删除了参考,因为它不再使用了。但是 lib1.dll 保留在 bin 文件夹中。因为没有引用库,所以重建和清理操作没有帮助。从 bin 文件夹中手动删除 lib1.dll 后,我摆脱了此消息。
案例:在 SharePoint 开发中使用控制台项目测试程序集 - 如果您正在进行 SharePoint 开发并在 VS 中看到此警报,请确保在测试控制台应用程序之前将您的 SP 程序集部署到 GAC 如果您的核心 SP 项目具有您需要的方法在您的控制台测试应用程序中调用。
我也有这个问题,解决这个问题的一种方法是以元数据形式打开文件的项目,将该项目添加为项目引用而不是文件引用,例如 dll 或 exe。
对我来说,我删除了临时 asp.net 文件中的所有文件,并关闭了我的解决方案并重新打开它,它工作正常