Мы работаем над проектом для клиента, который использует 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
существует в той же папке и имеет то же имя, что и библиотека сборки.Мы также запустили Process Monitor и подтвердили, что процесс 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
Дополнительная информация: