Visual studio 2010 Visual Studio 2010-调试/生成问题 我使用VisualStudio专业2010和Team Foundation Server Express beta版。我的VS项目C.Net/WPF已从没有TFS的VS 2008迁移到有TFS的VS 2010

Visual studio 2010 Visual Studio 2010-调试/生成问题 我使用VisualStudio专业2010和Team Foundation Server Express beta版。我的VS项目C.Net/WPF已从没有TFS的VS 2008迁移到有TFS的VS 2010,visual-studio-2010,build-process,visual-studio-debugging,Visual Studio 2010,Build Process,Visual Studio Debugging,每当我对代码应用更改并尝试调试我的应用程序时,我都会收到这样的消息:不会命中此断点。德语:这是一个非常重要的时刻。这是一个原始版本。项目开始时使用的是上一次成功构建的旧可执行版本。未发生错误,代码正常,但也未应用更改 当我手动清理和重建我的项目时,一切都很好——但是必须解决这个问题吗 编辑:我刚刚在VS解决方案中添加了一个新项目,并将其签入TFS服务器。使用此新项目不会出现问题。即使我添加了我在上面提到的项目中使用的相同依赖项,新项目的调试和构建也可以正常工作,不会出现上面提到的错误 也许这些信

每当我对代码应用更改并尝试调试我的应用程序时,我都会收到这样的消息:不会命中此断点。德语:这是一个非常重要的时刻。这是一个原始版本。项目开始时使用的是上一次成功构建的旧可执行版本。未发生错误,代码正常,但也未应用更改

当我手动清理和重建我的项目时,一切都很好——但是必须解决这个问题吗

编辑:我刚刚在VS解决方案中添加了一个新项目,并将其签入TFS服务器。使用此新项目不会出现问题。即使我添加了我在上面提到的项目中使用的相同依赖项,新项目的调试和构建也可以正常工作,不会出现上面提到的错误


也许这些信息有助于您引导我找到解决方案。

您可以找到答案。程序集可能位于GAC或项目中,或者需要重新生成某些项目以再次生成pdb文件,这些文件用于调试。如果您不选择重建,它可能会使用旧的pdb文件。

不清楚现有答案是否不足。我不知道到底是什么导致了你的问题;但是,我可以详细说明一些可能出现这种情况的地方

我经常看到的第一个方面是当项目直接引用程序集时。可以创建创建部件的项目。另一个项目可能使用该程序集,您可以直接按程序集进行引用,而不向该项目添加引用。这使VS无法真正了解它需要首先构建引用的程序集,并且它有时会与调试符号PDB不同步。您可以在“引用”的属性中判断是否引用了项目或程序集在解决方案资源管理器中展开引用,在引用上单击鼠标右键,然后选择“属性”。引用的项目将不具有特定的版本属性,而程序集引用将具有特定的版本属性。有时还可以从项目\项目依赖项中进行区分。如果有对另一个项目生成的程序集的引用,但该项目不是项目依赖项中的依赖项,则它可能是程序集引用。要解决此问题,通常可以删除引用并向项目添加引用


我还发现,有时断点会混淆调试器。如果我有很多断点或者它们已经运行了很长时间,调试器有时会做一些奇怪的事情。如果我删除所有现有断点,调试/删除所有断点并重新应用它们,调试器通常会更快乐。

您必须重新构建,没有更简单的方法

需要重新创建程序数据库文件PDB。您还应该将配置设置设置为“调试”


这一问题的第一个答案也一定会有所帮助。

我猜你把断点放在了你的程序无法访问的地方

例:


如果您正在运行一个混合模式的应用程序,非托管的本地C++和托管C,请确保在C应用程序的属性窗口中设置启用非托管代码调试。

< P>这是我在启动VS作为管理员时发生的。当项目设置为与我在该项目中使用的DLL不同的体系结构时,我也遇到了同样的问题。

。但这样做解决了我的问题:在项目的属性页中,转到开始选项,并标记本机代码。这对我有用。我也希望对你有帮助。嗯,谢谢你的建议,但我没能用这种方式解决这个问题+1无论如何,为了尝试;-。不,这不是问题所在。我甚至在主窗口构造函数的第一行添加了一个断点,消息出现了。在手动清理和重建项目后,一切正常,如我最初的问题所述。我只是检查了所有使用过的引用,但没有发现任何错误。但是,删除并重新添加所有依赖项解决了问题。我会把这篇文章作为答案,因为这是最合适的答案。
const int x = 5;

if(this.x == 1)
   //do sth <--- breakpoint here