我正在运行SonarQube 5.6版本,我正在尝试将.NET应用程序与Sonar集成。跑完声纳跑步者后,我收到了这条警告信息
Roslyn检测到的编码和SonarQu使用的编码 与文件xxx不匹配。 SonarQube编码是'windows-1252',Roslyn编码是'UTF-8'。文件将被跳过。
这导致0分析,因为所有文件都被跳过。使其工作的一种方法是将.cs文件编码从Visual Studio逐个更改为windows-1252。这是不可行的,因为我有超过1000个文件的大项目。
我们有什么办法可以改变SonarQube的编码吗?或者有没有其他方法来解决这个问题。
答案 0 :(得分:0)
目前无法更改编码。但是,您可以按照以下建议轻松更改所有文件的编码:https://stackoverflow.com/a/850751/1410281
foreach (var f in new DirectoryInfo(@"...").GetFiles("*.cs", SearchOption.AllDirectories)) {
string s = File.ReadAllText(f.FullName);
File.WriteAllText (f.FullName, s, Encoding.UTF8);
}