OpenCover.Console.exe — неверные аргументы: аргумент «xxx». не признается

Я реализую CodeCov для покрытия кода на С# с помощью Visual Studio 2019 и использую OpenCover и Xunit. В моем решении есть два проекта (Crossroads и CrossroadsUnitTests).

Я добавил в решение необходимые пакеты nuget (OpenCover, xunit, xunit.runner.console, xunit.runner.visualstudio) и хочу запустить команду OpenCover локально для создания отчета о покрытии, но, похоже, у меня есть пробелы в моем дорожка.

Ниже приведена команда, которую я запускаю в диспетчере пакетов, и ошибка, которую я получаю;

PM> OpenCover.Console.exe -register:user -target:"C:\Users\Mr. Erbynn\.nuget\packages\xunit.runner.console\2.4.1\tools\net46\xunit.console.exe" -targetargs:"C:\Users\Mr. Erbynn\source\repos\Crossroads\CrossroadsUnitTests\bin\Debug\netcoreapp3.1\CrossroadsUnitTests.dll -noshadow" -output:".\coverage.xml" -filter:"+[Crossroads*]* -[CrossroadsUnitTests*]*"

введите здесь описание изображения

Я пытался сбежать с помощью \", но это не работает.

Ниже приведены команда и ошибка, которые я получаю в оболочке питания при запуске OpenCover в корневой папке решения.

 C:\Users\\"Mr. Erbynn\"\.nuget\packages\opencover\4.7.922\tools\OpenCover.Console.exe -register:user -target:"C:\Users\\"Mr. Erbynn\"\.nuget\packages\xunit.runner.console\2.4.1\tools\net46\xunit.console.exe" -targetargs:"C:\Users\\"Mr. Erbynn\"\source\repos\Crossroads\CrossroadsUnitTests\bin\Debug\netcoreapp3.1\CrossroadsUnitTests.dll -noshadow" -output:".\coverage.xml" -filter:"+[Crossroads*]* -[CrossroadsUnitTests*]*"

введите здесь описание изображения

Ниже приведен целевой тестовый DLL-файл; введите здесь описание изображения

Пожалуйста, любая помощь или предложение будут очень признательны.


person John Erbynn    schedule 18.08.2020    source источник


Ответы (1)


Из документации

Если ваш аргумент должен экранировать кавычки, т.е. передавать аргументы с пробелами в этот целевой процесс, вы можете использовать \", т.е. -targetargs:"\"c:\program files\" xyz"

Итак, ваш -targetargs должен выглядеть так:

//           vv---------------------------------------------------------------------------------------------------------------vv
-targetargs:"\"C:\Users\Mr. Erbynn\source\repos\Crossroads\CrossroadsUnitTests\bin\Debug\netcoreapp3.1\CrossroadsUnitTests.dll\" -noshadow"
person Cid    schedule 18.08.2020
comment
ох... хорошо @Сид. А как насчет -target, нужно ли его настраивать, потому что я снова получаю подобную ошибку - Incorrect Arguments: The argument 'C:\Users\Mr.' is not recognised - person John Erbynn; 18.08.2020