无法启动VS2012 Profiler

11

我正在尝试在Windows 8 PRO 64位上的Visual Studio 2012 RTM中为控制台程序(ANALYZE / Start Performance Analysis)启动性能分析会话。

我收到一个弹出消息,提示:

无法加载文件或程序集“Microsoft.VisualStudio.PerformanceTools.CounterInfo.dll”或其某一个依赖项。指定的模块找不到。

显然,在安装了KB2645410之后,这种情况可能会发生在VS2010下。我仔细遵循了针对此错误消息给出的步骤:

Visual Studio 2010 SP1、KB2645410和Add-Ins

但是,这并没有解决问题。

我也尝试以管理员身份运行VS2012。

如何使分析器工作呢?

更新

实际上,我可以使用以下步骤从命令行附加到项目的运行实例中:

演练:使用采样进行命令行分析

然而,Visual Studio不会打开结果的.vspx文件(我使用 文件/打开文件 打开它之后不会有任何反应)。

更新2

当我尝试启动分析器时,Fuslogvw报告了两个绑定错误:

VS 2012 Profiler Binding Errors - Pastebin


我严重怀疑安全补丁会对其产生影响,因为它修复了VS2010特定的文件。这个程序集是混合模式的,有很多依赖于本机DLL的地方。试着使用SysInternals的ProcMon工具来找到缺失的文件。 - Hans Passant
@HansPassant:声称这个补丁阻止了Visual Studio将其凭据传递给分析器,并且默认情况下,缺少的DLL不可使用分析器最终运行的凭据进行访问。至少有一些人似乎已经通过更改文件权限解决了这个问题。我会尝试您使用ProcMon的建议。 - Eric J.
我也没有那个 coclass。它与文本服务有关。 - Hans Passant
@HansPassant:我无法在同一台计算机上的新简单项目中重现此问题。在我真正需要分析器工作的大型复杂项目中,它仍然存在问题。顺便说一下,我向微软提交了一个错误报告https://connect.microsoft.com/VisualStudio/feedback/details/768963/unable-to-start-vs2012-profiler 鉴于我无法确定确切发生时间,我并不是很乐观 :-( - Eric J.
最好使用支持并将整个项目发送给他们。 - Hans Passant
显示剩余2条评论
6个回答

7
将以下内容添加到系统路径中,可以永久解决我的问题。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Performance Tools

其它答案可能适用于其它情况。

请注意,您可能需要将 Visual Studio 以管理员身份运行,以便正确地进行分析。


这对我有用。当时在运行Windows 7和VS 2012。将这个添加到系统路径并以管理员身份运行我的VS,它就能正常工作了。 - HashTagDevDude

5

我也曾经为这个问题苦恼过。

但我找到了适合自己的解决方案:

我使用记事本打开了XXX.sln文件。

在其中,我发现了几个项目和全局部分,看起来像这样:

ProjectSection(SolutionItems) = preProject
    Performance1.psess = Performance1.psess
EndProjectSection

我把它们全部移除了,这样我的分析器就能正常工作了。


分析器突然又开始为我工作了。我确实在 Visual Studio 中删除了这些内容(在“解决方案项”下)。这可能就是为什么它对我也起作用的原因。 - Eric J.
很不幸,我的问题又出现了,而且我的解决方案中再也没有 .psess 文件了 :-( 不过暂时将其作为已接受的答案,因为它似乎在某些情况下有所帮助。 - Eric J.
这对我也起作用了。如果再次出现问题,我会再次删除...至少这里不需要重新启动 :) - Evgeniy Berezovsky

1

同样的问题在这里存在:

http://social.msdn.microsoft.com/Forums/en-US/a6487155-980c-4bc8-82de-2fe588fdf37f/windows-update-kb2645410-and-performance-tools-error

以下是建议的解决方法:
  • 卸载Windows更新KB2645410
  • 只运行一个Visual Studio实例
  • 如果您是开发PC上的管理员,可以将权限添加到“C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Team Tools \ Performance Tools”文件夹和子文件夹/文件中,以便每个人都可以读取和执行其中所有内容。
  • “我备份了所有内容,并使用Microsoft的原始光盘对Visual Studio进行了完全修复。这使计算机能够正常关闭。然后我再次尝试了补丁程序。它再次挂起,但经过几次重新启动后,我们收到有关删除损坏文件的消息,最终一切似乎都没问题了。”

1

我删除了.suo文件,现在一切都正常了。


这对我没有帮助,但希望它能帮助一些人。 - Eric J.

0
我的问题得到解决是因为我意识到我的用户访问控制设置得太高了。一旦关闭了它,我重新启动了计算机,一切都很顺利。

-1

我卸载了ReSharper之后,我的问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接