好的,我有:

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文件文件夹,但这次我需要你的帮助。


当前回答

我也遇到了同样的问题,在谷歌了一下之后,我找到了两个典型的解决方案:

确保在. web项目中激活了Silverlight调试器。打开项目属性,在“Web”选项卡下选择Silverlight调试器。 重新启动Visual Studio,删除所有bin和obj文件夹。

但这些对我都没用。然后有人在帖子后面提到尝试使用IE作为浏览器。这使得调试和断点再次工作!

编辑:

后来我遇到IE9无法工作的问题,因为它附加了错误的进程。我发现了一个巧妙的技巧,而不是每次都手动连接到正确的IE进程:

右键单击.Web项目(.html或.aspx)中生成的一个页面 点击“浏览…” 设置IE为默认浏览器(只会影响Visual Studio的浏览器选择)

现在,Visual Studio将在运行. web项目时启动IE并附加到正确的进程。这样就行了。

其他回答

我正在使用VS 2008,我得到了这个错误。我尝试了这里和其他一些网站上建议的所有方法,但都不起作用。

解决方案非常简单,这页上还提到了另外两个解决方案,让我找到了正确的方法。

转到项目菜单并单击属性(也可以在解决方案资源管理器中右键单击项目名称并选择属性)。 选择左边的Compile选项卡。 在“构建输出路径:”文本框中,确保文本框中有“bin\”。

在我的情况下,它指向网络上的另一个bin文件夹,这就是导致断点失败的原因。您希望它查看项目的当前Bin文件夹。

右键单击解决方案——> Properties

查看公共属性—>启动项目

选择多个启动项目

在需要调试的项目上选择“启动操作”。

场景是这样的:一个特定的项目是你的启动项目(例如有Main方法)。该项目正在引用解决方案中的其他项目。其他项目中的断点没有受到影响。

快速解决方案:当你构建你的解决方案时,在构建输出路径(通常是bin\Debug)中寻找启动项目。查看所引用项目的DLL和PDB文件。确保它们的最后修改日期是您最后构建解决方案的日期。如果不是,则将它们从每个项目的生成输出路径复制到启动项目的生成输出路径。例如:

项目A有Main。它引用项目B。在项目B中没有命中断点。将DLL和PDB文件从项目B的生成输出路径复制到项目A的生成输出路径。然后运行您的解决方案。断点现在将被击中。

现在您需要弄清楚为什么项目A没有复制项目B的DLL和PDB文件。这里的答案涵盖了大多数情况。一个没有涉及的场景是确保您的项目和解决方案正确地绑定到TFS。我有一些项目绑定,有些没有正确绑定。这给我带来了问题。一旦我修复了这个问题,问题就消失了,我不再需要复制DLL和PDB文件。

好了,开始吧:

(在一个“silverlight应用程序”中:请首先检查silverlight是否在你的服务器项目“属性”中的“web”中被选中-如果这没有解决问题,那么尝试下面的这个)

第一次做以下事情: 首先运行:devenv.exe /ResetSettings 而且 1: 在顶部菜单中单击调试标签 2: 点击选项和设置 3: 在“调试”和“通用”下找到“启用。net框架源代码步进” 4: 在方框上打勾。 5: 现在所有的符号都将被下载并重新配置:)

如果它再次发生后,上述只是清除文件夹的符号是:

1: 在顶部菜单中单击调试标签 2: 点击选项和设置 3: 在“调试”和“符号”下找到“空符号缓存”按钮并单击它。

我通过附加到IIS进行调试。我抓住了生产网。配置一些新的设置,忘记更新网页。配置以启用调试。

确保元素的调试设置为true。换句话说:

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0">