sonarlint.exe不是有效的win32应用程序

问题描述:

我想用sonarqube分析一个c#项目,但是我一直在收到一个错误消息,说sonarlint不是有效的win32应用程序,这是什么原因?sonarlint.exe不是有效的win32应用程序

[15:51:01]: [Step 1/3] 15:51:01.807 INFO - Sensor FileHashSensor... 
[15:51:01]: [Step 1/3] 15:51:01.838 INFO - Sensor FileHashSensor done: 31 ms 
[15:51:01]: [Step 1/3] 15:51:01.838 INFO - Sensor [email protected] 
[15:51:02]: [Step 1/3] INFO: ------------------------------------------------------------------------ 
[15:51:02]: [Step 1/3] INFO: EXECUTION FAILURE 
[15:51:02]: [Step 1/3] INFO: ------------------------------------------------------------------------ 
[15:51:02]: [Step 1/3] Total time: 26.359s 
[15:51:02]: [Step 1/3] Final Memory: 53M/1397M 
[15:51:02]: [Step 1/3] ERROR: Error during Sonar runner execution 
[15:51:02]: [Step 1/3] INFO: ------------------------------------------------------------------------ 
[15:51:02]: [Step 1/3] ERROR: Unable to execute Sonar 
[15:51:02]: [Step 1/3] ERROR: Caused by: java.io.IOException: Cannot run program "X:\xxxx\xxxx\xxxx\xxxxxx\.\.sonar\SonarLint.Runner\SonarLint.Runner.exe": CreateProcess error=193, %1 is not a valid Win32 application 
[15:51:02]: [Step 1/3] ERROR: Caused by: Cannot run program "X:\xxxx\xxxx\xxxxx\xxxxx\.\.sonar\SonarLint.Runner\SonarLint.Runner.exe": CreateProcess error=193, %1 is not a valid Win32 application 
[15:51:02]: [Step 1/3] ERROR: Caused by: CreateProcess error=193, %1 is not a valid Win32 application 
+0

检查,并检查它是否可以从命令行运行。这可能是这种情况,这是64位的应用程序,你有32位系统,或者它需要.NET框架,没有安装在系统上。 – csharpfolk

+0

该文件存在,我从命令行运行时得到相同的错误,我有一个64位系统。 – user3809938

+0

你是否从命令行或主脚本运行'SonarLint.Runner.exe'? – csharpfolk

使用一个版本的C#插件不依赖的/利用sonarlint,我用3.3,问题是,它是一个较旧的版本,所以达不到与最新的规则。

+0

这是一种解决方法,而不是应该推荐的解决方案 –

的SonarQube C#插件需要.NET Framework版本4.6安装。根据https://msdn.microsoft.com/en-us/library/8z6watww(v=vs.110).aspx,.NET Framework自4.5版以来不再支持Windows Server 2003。

我建议您升级服务器的操作系统,并使用最新的SonarQube C#插件,而不是使用旧的不支持的软件。如果该文件存在