Я использую SonarQube 4.0 и плагин C# 3.1 с FxCop 10. У меня есть сборки, предоставленные мне вышестоящей сборкой. Я использую плагин sonar-runner в Gradle.
Когда сонар-раннер достигает анализа FxCop, я получаю следующий вывод журнала:
16:43:16.660 INFO - Skipping the FxCop issue at line 9 which has no associated file.
16:43:16.660 INFO - Skipping the FxCop issue at line 12 which has no associated file.
16:43:16.660 INFO - Skipping the FxCop issue at line 15 which has no associated file.
16:43:16.660 INFO - Skipping the FxCop issue at line 24 which has no associated file.
16:43:16.660 INFO - Skipping the FxCop issue at line 31 whose file "e:\9394\Sources\[path removed]\CallbackWebService.cs" is not in SonarQube.
16:43:16.660 INFO - Skipping the FxCop issue at line 38 whose file "e:\9394\Sources\[path removed]\CallbackWebService.cs" is not in SonarQube.
16:43:16.660 INFO - Skipping the FxCop issue at line 45 whose file "e:\9394\Sources\[path removed]\CallbackWebService.cs" is not in SonarQube.
16:43:16.660 INFO - Sensor org.sonar.plugins.csharp.core.CSharpFxCopProvider$CSharpFxCopSensor@18db7c1 done: 3344 ms
Похоже, это происходит из-за того, что рабочая область TFS для моего анализа SonarQube находится в другом месте, чем рабочая область, в которой были созданы сборки. Если бы я использовал FxCop отдельно, похоже, я смог бы использовать /applyoutxsl для преобразования путей, но SonarQube не дает мне доступа к командной строке FxCop, чтобы включить это, насколько я могу судить.
Итак, мой вопрос: есть ли способ исправить это? Нереально создавать сборки из этой рабочей области, и нецелесообразно пытаться синхронизировать два пути к рабочей области.