好的,我有:

Visual Studio 2010 RC, W7 x64,启动了一个新的项目类型的Silverlight应用程序。在ASP中托管Silverlight应用程序。NET Web应用程序项目。Silverlight 3.0版。 添加了一个LinqToSQL类,一个WCF服务,一个Winform测试应用程序(解决方案中的项目)和一些类(也作为解决方案中的项目)。

昨天,我突然得到了“断点当前不会被击中”。本文档未加载任何符号。'消息出现在IDE中,但它只影响Web Appliaction,我可以调试Silverlight和Winform应用程序。

我尝试/做了什么来摆脱这条信息:

Reset Visual Studio Settings removed all files in every \Temporary ASP.NET Files Folder (there is one for each 32bit/64bit and for Framework 2.0 and 4.0) tried to debug using Visual Studio Integrated Web server - normally I use IIS, in the project output of the solution I deleted every obj and bin folders in every project folder created a new solution and added all the projects to this new solution deleted the solution suo file created a new ASP.NET Web Application to test if it is a VS-installation issue => I can debug this new project/solution rebooted the machine several times repaired the vs.net installation did an IISReset removed the Web App from IIS used the Create Virtual Directory Button under Project Properties of the Web App to create a new Web App in IIS changed the Framework Version of every project from 3.5 to 4.0 Opened the Solution on my second machine => same behavior crawled Microsoft Connect for bugs / similar issues SPENT 7 HOURS.

这是我人生中第二次这样了。上次我通过删除临时ASP解决了这个问题。NET文件文件夹,但这次我需要你的帮助。


当前回答

我遇到过这个问题,但在我的情况下,这是因为我试图调试的模块延迟加载。我有一个链接到我的主项目的DLL, DLL是我正在调试的。DLL只在主应用程序中的某些函数被调用时才被调用,因此VS2010在这些函数被调用之前不会加载模块。

当我启动项目时,我收到了这条消息,但当我执行函数时,调试器已经加载了模块和相关的调试信息。

这个帖子对我帮助很大:http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx

其他回答

这个错误偶尔会出现,我总是可以将其追溯到相关程序集的项目设置。你不必“等待”,直到你的代码不能遵守断点或直到你设置了断点,才能知道哪些程序集加载了符号。

当您在调试模式下运行项目时,它将在输出窗口中列出哪些程序集具有如下加载的符号(您可能需要在新选项卡中打开图像)

所以在这种情况下,BASD.Core.Data.dll没有加载符号。因此,您可以将此程序集的项目设置与设法加载符号的另一个程序集的项目设置进行比较,以便弄清楚为什么有些程序集可以加载符号,有些程序集不能加载符号。

然而,“对我来说”,“每次”发生这种情况,都是因为没有创建调试信息。所以我在一个(c#)项目中打开项目属性>构建>高级。

所以对于上面的Basd.Core.Data.dll,即没有符号,高级构建设置是:

而对于Basd.Core.Configuration.dll,即我可以设置并命中断点的程序集,设置如下:

所以我在后一个项目中输出调试信息,而不是在第一个项目中,因此我能够在Basd.Core.Configuration.dll中命中断点

还要注意,对于给定的.dll,仅仅在项目的bin文件夹中有一个.pdb文件是不够的,因为它很可能已经过期,因此Visual Studio不能将其作为您试图过路的.dll的有效符号文件。

还要注意,更改构建配置可以更改构建信息设置以及从哪里提取符号。

(我意识到在这种情况下我处于释放模式,但方法仍然适用)

对我来说,问题是在调试配置中打开了属性->构建->优化代码复选框。关闭它,重新构建,然后正常调试。

这是一个非常有用的帖子,列出了解决这个有害问题的清单。对我来说,有效的方法是切换到IE。我花了一段时间才意识到,因为我已经在使用IE,我已经设置了项目的web属性,以便启动操作是启动扩展程序

C:\Program Files (x86)\Internet Explorer\ iexplorer .exe

使用命令行参数

http://localhost/MyProject (

我需要-private标志来阻止IE缓存我正在处理的swf。从“启动外部程序”切换回“特定页面”修复了“没有符号已加载”的问题。

我刚刚根据部署Silverlight应用程序解决了这个问题。(这个答案是其他一些答案的重复,但我会尝试更彻底地解释它。)

问题很可能是你的Silverlight应用程序在构建/启动时没有正确部署到你的web应用程序。这是一个参考问题——理解起来很简单,但第一次遇到时并不明显。

就像任何其他项目引用一样,被引用项目的输出应该复制到引用项目的bin文件夹中,以便进行调试。对于类库,当你右键单击并选择“添加引用…”时就会发生这种情况。对于Silverlight,你应该通过Project Properties添加一个引用。

右键单击项目,选择“属性” 选择左边的“Silverlight Applications”选项卡 按“添加…”按钮,然后从对话框中选择你的Silverlight项目

这将从宿主web应用程序中添加一个引用到Silverlight应用程序,并确保xap文件将在构建或部署时复制到web应用程序中。这意味着当前Silverlight应用程序及其调试文件都在正在调试的应用程序中,您将能够逐级检查代码。

在Web中修复此问题。我只需要添加debug="true"

  <system.web>
    <compilation targetFramework="4.0" debug="true">

什么帮助我找到这个解决方案一直在调试模块窗口,并看到我的ASP。二进制文件不是用调试信息构建的。