DLL-библиотека монитора покрытия (Microsoft.VisualStudio.Coverage.Monitor.dll
) - это просто прославленная оболочка для vsperfmon.exe. Буквально передаваемые аргументы просто становятся аргументами командной строки для процесса.
Самое простое решение - просто использовать класс Process
для запуска vsperfmon.exe самостоятельно (аналогично тому, что вы делаете для vsinstr.exe).
Если вы хотите использовать DLL монитора покрытия, вам нужно добавить ссылку на него. Существует 32- и 64-разрядный vsperfmon.exe (для сбора покрытия кода для 32- и 64-разрядных процессов, соответственно), поэтому существует также 32- и 64-разрядная версия библиотеки DLL монитора покрытия.
Для VS2010 библиотека DLL монитора 32-разрядного покрытия находится в Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors\x86
. DLL-библиотека монитора 64-битного покрытия находится в Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors\x64
.
Если вы хотите поддерживать сбор данных как в 32-, так и в 64-битных процессах, вам потребуется 32- и 64-битная версия программы сбора, если вы также хотите использовать DLL монитора покрытия (поскольку DLL монитора покрытия не системно-независимый MSIL). Если вы просто создадите процесс vsperfmon.exe самостоятельно, вам потребуется всего одна версия программы сбора данных, чтобы поддерживать как 32-, так и 64-битные процессы.