好的,我有:

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


当前回答

我尝试了很多东西。对我有用的方法。 通过右键单击项目,我将Silverlight应用程序设置为“启动项目”。然后我试着运行它(这显然失败了,因为它依赖RIA服务到一个没有运行的web服务器) 然后我将Web项目重置为启动项目。嘿,瞬间…一切都在运转。

其他回答

一种可能的情况是,如果你的ASP项目在应用程序中引用一些代码(而不是一个dll),那么这些符号将不会被加载。

在调试代码时,我不得不暂时将引用的应用程序更改为类库。

我尝试了很多东西。对我有用的方法。 通过右键单击项目,我将Silverlight应用程序设置为“启动项目”。然后我试着运行它(这显然失败了,因为它依赖RIA服务到一个没有运行的web服务器) 然后我将Web项目重置为启动项目。嘿,瞬间…一切都在运转。

我的问题是代码中间的一个“返回”。所以在返回断点后是无效的。

你所面临的原因是PDB(“PDB代表程序数据库,一种专有的文件格式(由微软开发),用于存储程序的调试信息)不是最新的,这可能是由于一些原因:

1-正如Bevan所说,您可能正在调试另一个应用程序!

2-您正在调试同一应用程序的另一个版本。例如,您将以前构建的应用程序与当前版本的代码附加在一起进行调试,而无需(重新)构建它。

清理或重建解决方案为我解决了这些问题。

为了确保问题不是你的,试着在VS 2008上调试相同的应用程序(我担心这可能是VS 2010的一个bug——它仍然是测试版!)

我在Windows 7上也遇到了同样的问题,尝试了所有方法:清理dll,调查模块列表,关闭“只是我的代码”,等等。

在我以“管理员”身份运行Visual Studio后,问题得到了解决。诚实。为什么微软不能警告我它不是“以管理员身份”运行的呢?这会节省我几个小时的工作时间。