好的,我有:

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


当前回答

我在客户端遇到过这个问题,对于每个应用程序解决方案,他们将大多数共享程序集复制到“引用”文件夹,然后将它们作为“解决方案项”和解决方案中的“项目”添加到解决方案中。

目前还不确定原因,但其中一些是可调试的,一些是不可调试的,即使在程序集的References设置中指定了正确的完整路径。

这种不可预知的行为几乎把我逼疯了:)

我通过从“References”文件夹中删除所有带有源代码的项目的程序集来解决这个问题,并很好地跟踪共享程序集的版本信息。

其他回答

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

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

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

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

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

无论如何要把这个标记下来,因为它不是一个答案,但是这个断点没有被击中的问题,对我来说,已经自行修复了。在删除临时文件、重新启动、重新安装、调试设置等几个小时后,它突然开始工作了。当我们毫无理由地碰到一个断点时,我正处于疯狂的边缘。爱不一致的虫子,我。

If you are having problems with Silverlight projects the solution can be fairly simple. According to my experience in many cases debugging symbols are not being loaded due to the new ".xap" files not being deployed to temporary folder (either internal VS Cassini or IIS Express). In this situation full rebuilds or resetting VS settings won't help. The easiest solution is just to delete temporary internet files within your browser. If you are using IE for Silverlight development and testing I would recommend switching on "Delete browsing history on exit" option in order not to have such issues in the future.

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

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

对于那些正在使用Visual Studio 2008而不是Visual Studio 2010的读者,他们会得到这个错误。上面的答案在这种情况下对我没有帮助,所以我分享我的经验。

如果您正在Visual Studio 2008中通过附加到w3wp.exe进程而不是使用ASP. exe进程来调试IIS Web应用程序。NET开发服务器进行调试(从调试开始),这可能是你的问题:

Visual Studio可能仍然从过期的IIS进程中引用dll中的符号文件(调试期间使用的文件)。该符号文件已通过. net源代码重新编译重新创建,但IIS进程仍在引用旧的符号文件。

修复:

只需在Visual Studio中停止调试,重新启动web应用程序,并重新连接到进程。然后断点应该从黄色(当您看到此错误时)再次变为红色。

========================

更多可以尝试的事情(今天发现了新情况):

每次做下面链接中的一个项目,但是每尝试一个项目都重复下面的步骤。

http://carnotaurus.philipcarney.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same

1)。在Visual Studio中停止调试(按红色方块图标) 2)。清洁解决方案 3)。构建解决方案 4.)[此处插入项目说明] 5)。附加到进程(或从调试开始) 6)。启动您要附加的程序,并运行它,这样您的代码就会被击中

6解释道:

如果连接到NUnit .exe,然后打开NUnit并运行一个测试,这样你的断点就会被击中

如果附加到w3wp.exe (IIS站点),则在浏览器中打开站点并转到将碰到断点的页面

编辑:

今天我注意到,如果你尝试调试一个没有设置为启动项目的项目,它会显示这个。当您附加到w3wp.exe进程时,它会认为它在被设置为启动项目的项目上进行调试。要解决这个问题,只需右键单击web应用程序项目,并选择“设置为启动项目”。然后尝试重新连接到您的进程。