1

我们正在为使用 ASP.NET C# 与 EF 6 和 .Net Framework 4.6.1 的客户开发一个项目。我们有一些运行速度有点慢的集成测试和单元测试,所以我们决定运行一个分析器。在我们的搜索中,我们遇到了 ANTS Performance Profiler 并决定试一试。

我们使用 .NET 可执行文件创建了一个分析会话,并将分析模式配置为line-level & method-level timings - All methods inc. framework. 但是,在运行分析器时,我们看不到任何方法并且面临错误消息

探查器没有找到源代码的任何方法。要查看所有已分析的方法,请在下面的显示选项中选择“所有方法”。

我该如何解决这个问题?


我们最初使用 VSTest 遇到了这个问题,然后决定更改为 MSTest,因为它似乎有更好的文档 ( 1 )。它也没有工作。

我们做了一些调查并尝试了一些链接(2)(3),但没有一个有帮助。我们发现一个可能的问题是 ANTS Profiler 没有找到该.pdb文件。但是,我们验证该.pdb文件存在于同一文件夹中,并且与程序集的 DLL 具有相同的名称。我们还运行了进程监视器并确认进程MSTest.exe正在读取正确的.pdb文件

以下是启动选项:

  • .NET 可执行文件的路径:C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\MSTest.exe
  • 命令行参数:/testcontainer:Projeto.dll /test:Projeto.Features._001_UsuarioFeature._001_A_1_1* /testsettings:"C:\Users\Documents\projeto\TestSettings1.testsettings"
  • 工作目录:C:\Users\Documents\projeto\bin\Debug

附加信息:

  • 我们正在运行 ANTS Performance Profiler 版本 10.1.5.1275

  • 操作系统:Windows 10 企业版

4

1 回答 1

1

我们联系了 RedGate 支持,他们解决了我们的问题。

使用命令行参数运行分析器/testcontainer本身就可以了!原来 /testsettings 参数是导致故障的参数,然后,一旦我删除它,分析器就能够看到源代码。

Obs:/testsettings在我们将测试工具更改为 MSTest 后,需要该参数。它负责引用我们的一些依赖项。删除参数后,解决方案是硬编码我们的依赖关系的路径,只是为了测试。

于 2019-04-10T18:50:58.497 回答