In My C#言語slnファイルには2つのプロジェクトが含まれています。最初のプロジェクトには実際のコードがあります& 2番目のプロジェクトは最初のプロジェクトの単位テストケースを持っています。しかし、コマンドラインツール(inspectcode.exe)を使用してresharperコード解析を行っている間。コマンドラインツール(inspectcode.exe)を使用したresharperコード解析
実際のコードファイルではなく、ユニットテストプロジェクトでのみ検査を行っているプロジェクトの両方で使用します。
「私は実際のコードのためのReSharperの分析を行うために変更を行う必要があり
package org.sonar.plugins.resharper;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.utils.command.Command;
import org.sonar.api.utils.command.CommandException;
import org.sonar.api.utils.command.CommandExecutor;
public class ReSharperExecutor
{
private static final Logger LOG = LoggerFactory.getLogger(ReSharperExecutor.class);
public void execute(String executable, String project, String solutionFile, File rulesetFile, File reportFile, int timeout)
{
Command cmd = Command.create(getExecutable(executable)).addArgument("/output=" + reportFile.getAbsolutePath()).addArgument("/no-swea").addArgument("/project=" + project).addArgument("/profile=" + rulesetFile.getAbsolutePath()).addArgument("/no-buildin-settings").addArgument(solutionFile);
int exitCode = CommandExecutor.create().execute(cmd, TimeUnit.MINUTES.toMillis(timeout));
if (exitCode != 0) {
throw new CommandException(cmd, "ReSharper execution failed with exit code: " + exitCode, null);
}
}
private static String getExecutable(String propertyValue)
{
String execName = "inspectcode.exe";
if (!propertyValue.endsWith(execName)) {
return new File(propertyValue, execName).getAbsolutePath();
}
return propertyValue;
}
}'
。
実行コマンド:cd:/inspectcode.exe /output=cd:\resharper-report.xml/no-swea/project = * /profile=cd:.sonar\resharper-sonarqube.DotSettings/no-buildin-設定CD:\ XXXX.sln上記の問題が発生したbcoz
通常、ソリューションファイルでinspectcodeを呼び出すだけです。これらの 'cd:'パラメータは何ですか? – Matthias
@Matthiasあなたの返事をありがとう。 cdは、これらのファイルの対応するフォルダディレクトリ(またはファイルフォルダの場所)を意味します。 – user7014262
ソリューションフォルダ内の 'inspectcode.exe'を直接呼び出すことで、他のすべての間違いをなくすことができますか? – Matthias