好的,我有:

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,现在断点是功能性的

不确定,也许这个能帮到你;如果不是你,那就找一个像我这样的新人吧,因为这对我来说很管用:)

其他回答

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

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

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

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

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.

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

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

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

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

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

在调试/常规设置中禁用“只是我的代码”选项。