C# Visual Studio F5调试比附加到进程慢

C# Visual Studio F5调试比附加到进程慢,c#,performance,visual-studio,debugging,visual-studio-2012,C#,Performance,Visual Studio,Debugging,Visual Studio 2012,如果我用F5(调试)启动我的应用程序,则需要大约2000毫秒的特定操作。如果我使用F5+CTRL(不进行调试)启动应用程序,并使用“附加到进程”附加Visual Studio,则只需约100毫秒 有人知道什么组件会导致这种性能“问题”吗 C#应用程序/VS 2012 编辑 代码被截断: Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); changed.Validate(context); stopwatch.Stop(); Con

如果我用F5(调试)启动我的应用程序,则需要大约2000毫秒的特定操作。如果我使用F5+CTRL(不进行调试)启动应用程序,并使用“附加到进程”附加Visual Studio,则只需约100毫秒

有人知道什么组件会导致这种性能“问题”吗

C#应用程序/VS 2012

编辑

代码被截断:

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
changed.Validate(context);
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);

在F5或调试期间,visual studio会加载所有pdb文件。pdb文件是程序数据库文件,也是您能够进行调试的原因。如果在生成模式下编译,您将看到bin文件夹具有与每个dll对应的.pdb文件

有关pdb文件的更多信息:

关于这个话题的一篇文章

您是否自己触发该操作?如何启动它?只需单击一个按钮即可。这是正常的,并且在连接调试器时速度会变慢。通常情况下,应用程序是在没有附加调试器的情况下使用的,因此“性能”是在没有调试器的情况下测量的。这是个问题吗?我知道一些大型应用程序可能会让人讨厌调试,因为它们在连接调试器时会变得非常慢。这首先让人讨厌。但我不明白F5(调试)和“附加到进程”之间有什么不同,两者都附加了调试器,但第一个调试器的速度要慢2000%。哪个版本的Visual Studio?快车?赞成的意见?终极版?谢谢你的提示。我看过这篇文章。但pdb的负载应仅在第一次负载期间发生影响?“附加到进程”也会加载dps pdb。=>应该以与F5相同的方式影响。但这不仅仅是启动时间。当从F5开始时,我得到20%的持续CPU使用率,而使用Attach to process则为零。这适用于在IIS中运行的.NET Framework应用程序,而我甚至都没有访问服务器。如果我运行应用程序,那么无论以何种方式运行,它都会在断点处停止。真糟糕!