[研究]SonarQube 9.7.0 + SonarScanner 5.8.0 (.NET 4.6) 原始碼品質、原始碼安全、源碼品質、源碼安全掃描工具安裝試用 (Windows Server 2022)
2022-10-18
2022-10-19更新
OWASP整理了相關源碼靜態分析工具
https://www.owasp.org/index.php/Source_Code_Analysis_Tools
免費版本如Puma Scan、.NET Security Guard、SonarQube等
SonarQube - 維基百科,自由的百科全書
https://zh.wikipedia.org/zh-tw/SonarQube
SonarQube(曾用名Sonar(聲納))是一個開源的代碼品質管理系統。
Code Quality and Code Security | SonarQube
https://www.sonarqube.org/
Code Quality and Code Security (原始碼品質、原始碼安全)
(下圖) Click 圖片可看100%圖
********************************************************************************
軟體需求
https://docs.sonarqube.org/latest/requirements/requirements/
預設似乎使用 H2 Database Engine,不用另外安裝資料庫軟體。
Server 只支援 Java JRE 11,敝人安裝 Microsoft JDK,microsoft-jdk-11.0.16.1-windows-x64.msi,安裝時勾選 JAVA_HOME。
Windows
setx SONAR_JAVA_PATH "C:\Program Files\java_home\bin\java.exe"
Windows Server 2022 上
setx SONAR_JAVA_PATH "C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java.exe"
環境變數可以不在此時設定,後面一堆一起設定。(要指定到 java.exe 程式,不是路徑)
********************************************************************************
1.SonarQube 9.7.0 (Web Server) 下載與安裝
官方下載,sonarqube-9.7.0.61563.zip (2022年10月釋出)
https://www.sonarqube.org/
https://www.sonarqube.org/downloads/
安裝參考
https://docs.sonarqube.org/latest/setup/install-server/
SonarQube需要 ElasticSearch,已經內含。安裝很簡單,解壓縮即可。
啟動有 2 種方式:(一)程式 (二)服務
可以先以程式方式測試執行是否正常,切換到程式目錄,執行程式
cd C:\sonarqube-9.7.0.61563\bin\windows-x86-64
StartSonar.bat
(後面會把目錄加入環境變數 PATH,就不用切換目錄)
********************************************************************************
實際執行畫面
C:\>cd c:\sonarqube-9.7.0.61563\bin\windows-x86-64
c:\sonarqube-9.7.0.61563\bin\windows-x86-64>StartSonar.bat
Starting SonarQube...
2022.10.18 14:25:24 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\sonarqube-9.7.0.61563\temp
2022.10.18 14:25:24 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:49945]
2022.10.18 14:25:24 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [C:\sonarqube-9.7.0.61563\elasticsearch]: C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java -XX:+UseG1GC -Djava.io.tmpdir=C:\sonarqube-9.7.0.61563\temp -XX:ErrorFile=../logs/es_hs_err_pid%p.log -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djna.tmpdir=C:\sonarqube-9.7.0.61563\temp -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j2.formatMsgNoLookups=true -Djava.locale.providers=COMPAT -Dcom.redhat.fips=false -Xmx512m -Xms512m -XX:MaxDirectMemorySize=256m -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=C:\sonarqube-9.7.0.61563\elasticsearch -Des.path.conf=C:\sonarqube-9.7.0.61563\temp\conf\es -cp lib/* org.elasticsearch.bootstrap.Elasticsearch
2022.10.18 14:25:24 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2022.10.18 14:25:34 INFO app[][o.s.a.SchedulerImpl] Process[es] is up
2022.10.18 14:25:34 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[WEB_SERVER] from [C:\sonarqube-9.7.0.61563]: C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=C:\sonarqube-9.7.0.61563\temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Dcom.redhat.fips=false -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-9.7.0.61563.jar;C:\sonarqube-9.7.0.61563\lib\jdbc\h2\h2-2.1.214.jar org.sonar.server.app.WebServer C:\sonarqube-9.7.0.61563\temp\sq-process2239496047474178083properties
2022.10.18 14:26:32 INFO app[][o.s.a.SchedulerImpl] Process[web] is up
2022.10.18 14:26:32 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[COMPUTE_ENGINE] from [C:\sonarqube-9.7.0.61563]: C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=C:\sonarqube-9.7.0.61563\temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Dcom.redhat.fips=false -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-9.7.0.61563.jar;C:\sonarqube-9.7.0.61563\lib\jdbc\h2\h2-2.1.214.jar org.sonar.ce.app.CeServer C:\sonarqube-9.7.0.61563\temp\sq-process16600548783928992018properties
2022.10.18 14:26:33 WARN app[][startup] ####################################################################################################################
2022.10.18 14:26:33 WARN app[][startup] Default Administrator credentials are still being used. Make sure to change the password or deactivate the account.
2022.10.18 14:26:33 WARN app[][startup] ####################################################################################################################
2022.10.18 14:26:38 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
2022.10.18 14:26:38 INFO app[][o.s.a.SchedulerImpl] SonarQube is operational
2022.10.18 14:29:51 INFO app[][o.s.a.SchedulerImpl] Stopping SonarQube
2022.10.18 14:29:51 INFO app[][o.s.a.SchedulerImpl] Sonarqube has been requested to stop
2022.10.18 14:29:51 INFO app[][o.s.a.SchedulerImpl] Stopping [Compute Engine] process...
2022.10.18 14:29:51 INFO app[][o.s.a.SchedulerImpl] Process[Compute Engine] is stopped
2022.10.18 14:29:51 INFO app[][o.s.a.SchedulerImpl] Stopping [Web Server] process...
2022.10.18 14:29:52 INFO app[][o.s.a.SchedulerImpl] Process[Web Server] is stopped
2022.10.18 14:29:52 INFO app[][o.s.a.SchedulerImpl] Stopping [ElasticSearch] process...
2022.10.18 14:29:52 INFO app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.10.18 14:29:52 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
要終止批次工作嗎 (Y/N)? y
c:\sonarqube-9.7.0.61563\bin\windows-x86-64>
********************************************************************************
服務的安裝、啟動、狀態、停止、移除
建議安裝成服務,省去以後每次要啟動的麻煩。
執行 SonarService.bat install 安裝
執行 SonarService.bat start 啟動
執行 SonarService.bat status 測試目前狀態
執行 SonarService.bat stop 停止
執行 SonarService.bat uninstall 移除
(下圖) 連上 http://localhost:9000/
注意,只支援 http,不支援 https
(下圖) 預設帳號、密碼都是 admin
(下圖) 進入畫面,先建立 Project 和 token,稍後使用
這裡說明一下產生的指令,SonarScanner.MSBuild.exe 是稍後要安裝的 SonarScanner for .NET 掃描工具程式。
SonarScanner.MSBuild.exe begin /k:"Project1Key" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
|
如果沒有先切換到 .sln 檔案所在目錄,上面執行會出問題
C:\Code\WebApplication1>SonarScanner.MSBuild.exe end SonarScanner for MSBuild 5.8 Using the .NET Framework version of the Scanner for MSBuild Post-processing started. 16:35:53.195 Temporary analysis directory (usually .sonarqube) doesn't exist. The "begin" step was probably not executed. 16:35:53.195 Post-processing failed. Exit code: 1 C:\Code\WebApplication1>
|
下面是執行 MSBuild.exe,需要至少 v14 或更新 (稍後安裝),而且要在 方案 (.sln) 所在的目錄。
如果不在 .sln 所在的目錄,要指定 .sln,例如:
MsBuild.exe /t:Rebuild C:\Code\WebApplication1\WebApplication1.sln
|
結束執行
SonarScanner.MSBuild.exe end /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
|
在某些 Google 的網頁中,end 後面是不需要 /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75" 參數的
SonarScanner.MSBuild.exe end
|
實際測試是需要的,否則執行會出現錯誤 (可能不同 SonarQube 版本的要求不同)
C:\Code\WebApplication1>SonarScanner.MSBuild.exe end SonarScanner for MSBuild 5.8 Using the .NET Framework version of the Scanner for MSBuild Post-processing started. 16:37:08.364 Credentials must be passed in both begin and end steps or not at all 16:37:08.364 Post-processing failed. Exit code: 1
|
實際測試是需要的,否則執行會出現
(下圖) 如果要正式使用,建議不要用預設的 Embedded database
Embedded database should be used for evaluation purposes only
The embedded database will not scale, it will not support upgrading to newer versions of SonarQube, and there is no support for migrating your data out of it into a different database engine.
********************************************************************************
2.SonarScanner for .NET 5.8.0 掃描工具下載、安裝
SonarScanner for .NET | SonarQube Docs 下載與說明
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-msbuild/
建議下載 .NET Framework 4.6+,因為 .NET 5+ 沒有看到主程式 SonarScanner.MSBuild.exe,敝人暫時不知如何處理。
SonarScanner for NET 4.6+直接下載
https://github.com/SonarSource/sonar-scanner-msbuild/releases/download/5.8.0.52797/sonar-scanner-msbuild-5.8.0.52797-net46.zip
要使用 SonarScanner for NET 4.6+,有一些先決條件
(1) MSBuild.exe 需要 v14 或更新,可參考這篇安裝
[研究]Visual Studio 2022 v17 安裝 MSBuild.exe v17
http://shaurong.blogspot.com/2022/10/visual-studio-2022-v17-msbuildexe-v17.html
(2) 另外在Visual Studio 2022 v17 安裝 MSBuild.exe v17時,請勾選 .NET Framework 4.6.x,其他 .NET Framework 是否安裝隨便;後面建立 ASP.NET WebForm 方案進行測試時,框架版本也請選 4.6,成功了再去測試 4.7.x 或 4.8.x。
(下圖)工作負載「ASP.NET與網頁程式開發」是稍後為了測試而安裝的開發環境
(下圖)「SonarScanner for NET 4.6+」需要的
SonarScanner for .NET 5.8.0 安裝只要解壓縮即可。
********************************************************************************
3.設定環境變數
(下圖) 新增 SONAR_JAVA_PATH 環境變數,值為
C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java.exe
(下圖) 編輯PATH,新增
C:\sonarqube-9.7.0.61563\bin\windows-x86-64
C:\sonar-scanner-msbuild-5.8.0.52797-net46
C:\sonar-scanner-msbuild-5.8.0.52797-net46\sonar-scanner-4.7.0.2747\bin
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64
(下圖) 新增 SONAR_JAVA_PATH 環境變數,值為
C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin\java.exe
(下圖) 編輯PATH,新增
C:\sonarqube-9.7.0.61563\bin\windows-x86-64
C:\sonar-scanner-msbuild-5.8.0.52797-net46
C:\sonar-scanner-msbuild-5.8.0.52797-net46\sonar-scanner-4.7.0.2747\bin
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64
注意,環境變數設定後,對已經開啟的「命令提示字元」無效,請關閉;僅對之後新開的「命令提示字元」有效。
********************************************************************************
4.建立 ASP.NET WebForm 方案,掃描測試
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="WebApplication1.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
|
Default.aspx.cs
using System;
namespace WebApplication1
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect(TextBox1.Text);
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect(TextBox1.Text);
}
}
}
|
為了方便執行,建立了一個 C:\Temp\T1.bat 檔案,如下
cd C:\Code\WebApplication1
@REM SonarScanner.MSBuild.exe begin /k:"Project1Key" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
SonarScanner.MSBuild.exe begin /k:"Project1Key" /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
MsBuild.exe /t:Rebuild
SonarScanner.MSBuild.exe end /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
@REM SonarScanner.MSBuild.exe end
|
執行結果如下
C:\Code\WebApplication1>c:\temp\t1.bat
C:\Code\WebApplication1>cd C:\Code\WebApplication1
C:\Code\WebApplication1>SonarScanner.MSBuild.exe begin /k:"Project1Key" /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
SonarScanner for MSBuild 5.8
Using the .NET Framework version of the Scanner for MSBuild
Pre-processing started.
Preparing working directories...
16:37:48.886 Updating build integration targets...
16:37:48.98 Fetching analysis configuration settings...
16:37:49.324 Provisioning analyzer assemblies for cs...
16:37:49.339 Installing required Roslyn analyzers...
16:37:49.605 Provisioning analyzer assemblies for vbnet...
16:37:49.605 Installing required Roslyn analyzers...
16:37:49.636 Pre-processing succeeded.
C:\Code\WebApplication1>MsBuild.exe /t:Rebuild
MSBuild version 17.3.1+2badb37d1 for .NET Framework
在此解決方案中一次建置一個專案。若要啟用平行建置,請新增 "-m" 參數。
已經開始建置於 2022/10/18 下午 04:37:49。
節點 1 (Rebuild 目標) 上的專案 "C:\Code\WebApplication1\WebApplication1.sln"。
ValidateSolutionConfiguration:
建置方案組態 "Debug|Any CPU"。
專案 "C:\Code\WebApplication1\WebApplication1.sln" (1) 正在節點 1 (Rebuild 目標) 上建置 "C:\Code\WebApplication1\WebApplication1\W
ebApplication1.csproj" (2)。
KillVBCSCompilerBeforeClean:
ExecutablePath is C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Roslyn\VBCSCompiler.ex
e
CoreClean:
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\WebApplication1.dll.config"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\WebApplication1.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\WebApplication1.pdb"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.exe"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.exe.config"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.rsp"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.exe"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.exe.config"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.rsp"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.CSharp.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.CSharp.Scripting.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.Scripting.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.VisualBasic.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CSharp.Core.targets"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.DiaSymReader.Native.amd64.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.DiaSymReader.Native.x86.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Managed.Core.targets"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.VisualBasic.Core.targets"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Win32.Primitives.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.AppContext.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Collections.Immutable.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Console.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.DiagnosticSource.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.FileVersionInfo.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.StackTrace.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Globalization.Calendars.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.Compression.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.Compression.ZipFile.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.FileSystem.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.FileSystem.Primitives.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Net.Http.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Net.Sockets.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Reflection.Metadata.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Runtime.InteropServices.RuntimeInformation.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.Cryptography.Algorithms.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.Cryptography.Encoding.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.Cryptography.Primitives.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.Cryptography.X509Certificates.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Text.Encoding.CodePages.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Threading.Tasks.Extensions.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.ValueTuple.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.ReaderWriter.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XmlDocument.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XPath.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XPath.XDocument.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.exe"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.exe.config"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.rsp"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\VBCSCompiler.exe"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\VBCSCompiler.exe.config"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.csproj.AssemblyReference.cache"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.csproj.CoreCompileInputs.cache"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.csproj.CopyComplete"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.dll"。
正在刪除檔案 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.pdb"。
GenerateTargetFrameworkMonikerAttribute:
將略過目標 "GenerateTargetFrameworkMonikerAttribute",因為所有輸出檔對於其輸入檔而言都已更新。
SonarCategoriseProject:
Sonar: (WebApplication1.csproj) Categorizing project as test or product code...
Sonar: (WebApplication1.csproj) categorized as MAIN project (production code).
SonarCreateProjectSpecificDirs:
正在建立目錄 "C:\Code\WebApplication1\.sonarqube\conf\0"。
SonarWriteFilesToAnalyze:
Sonar: (WebApplication1.csproj) Number of files to analyse: 8. The list of files to be analyzed is in C:\Code\WebAppl
ication1\.sonarqube\conf\0\FilesToAnalyze.txt.
SetRoslynCodeAnalysisProperties:
Sonar: (WebApplication1.csproj) Analysis configured successfully with C:\Code\WebApplication1\.sonarqube\conf\0\Sonar
ProjectConfig.xml.
SonarQubeImportBeforeInfo:
Sonar: (WebApplication1) SonarQube.Integration.ImportBefore.targets was loaded
CoreCompile:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Roslyn\csc.exe /noconfig /nowarn:1701,17
02 /fullpaths /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyva+ /reference:C:\Code\WebApplic
ation1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNet
CompilerPlatform.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\M
icrosoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\m
scorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.Co
mponentModel.DataAnnotations.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFra
mework\v4.6\System.Configuration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NE
TFramework\v4.6\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFram
ework\v4.6\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Frame
work\.NETFramework\v4.6\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\
.NETFramework\v4.6\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramew
ork\v4.6\System.Drawing.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramewor
k\v4.6\System.EnterpriseServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NE
TFramework\v4.6\System.Web.ApplicationServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft
\Framework\.NETFramework\v4.6\System.Web.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Frame
work\.NETFramework\v4.6\System.Web.DynamicData.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft
\Framework\.NETFramework\v4.6\System.Web.Entity.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsof
t\Framework\.NETFramework\v4.6\System.Web.Extensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Mic
rosoft\Framework\.NETFramework\v4.6\System.Web.Services.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\
Microsoft\Framework\.NETFramework\v4.6\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Micros
oft\Framework\.NETFramework\v4.6\System.Xml.Linq.dll" /debug+ /debug:full /optimize- /out:obj\Debug\WebApplication1.d
ll /ruleset:C:\Code\WebApplication1\.sonarqube\conf\Sonar-cs.ruleset /errorlog:C:\Code\WebApplication1\.sonarqube\out
\0\Issues.json /subsystemversion:6.00 /target:library /warnaserror- /utf8output /langversion:7.3 /analyzer:C:\Users\A
dministrator\AppData\Local\Temp\.sonarqube\resources\0\Google.Protobuf.dll /analyzer:C:\Users\Administrator\AppData\L
ocal\Temp\.sonarqube\resources\0\SonarAnalyzer.CFG.dll /analyzer:C:\Users\Administrator\AppData\Local\Temp\.sonarqube
\resources\0\SonarAnalyzer.CSharp.dll /analyzer:C:\Users\Administrator\AppData\Local\Temp\.sonarqube\resources\0\Sona
rAnalyzer.dll /analyzer:C:\Users\Administrator\AppData\Local\Temp\.sonarqube\resources\1\Google.Protobuf.dll /analyze
r:C:\Users\Administrator\AppData\Local\Temp\.sonarqube\resources\1\SonarAnalyzer.CFG.dll /analyzer:C:\Users\Administr
ator\AppData\Local\Temp\.sonarqube\resources\1\SonarAnalyzer.dll /analyzer:C:\Users\Administrator\AppData\Local\Temp\
.sonarqube\resources\1\SonarAnalyzer.VisualBasic.dll /additionalfile:C:\Code\WebApplication1\.sonarqube\conf\cs\Sonar
Lint.xml /additionalfile:C:\Code\WebApplication1\.sonarqube\conf\0\SonarProjectConfig.xml /additionalfile:C:\Code\Web
Application1\.sonarqube\conf\0\ProjectOutFolderPath.txt Default.aspx.cs Default.aspx.designer.cs Properties\AssemblyI
nfo.cs "obj\Debug\.NETFramework,Version=v4.6.AssemblyAttributes.cs"
CompilerServer: server - server processed compilation - ef2dc32d-42cb-4069-9496-7b2572da9bb5
_CopyFilesMarkedCopyLocal:
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft
.CodeDom.Providers.DotNetCompilerPlatform.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\Microsoft.CodeDom.Pro
viders.DotNetCompilerPlatform.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft
.CodeDom.Providers.DotNetCompilerPlatform.xml" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\Microsoft.CodeDom.Pro
viders.DotNetCompilerPlatform.xml"。
由於指定了 "AlwaysCreate",因此正在建立 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.csproj.CopyComplete"。
_CopyAppConfigFile:
正在將檔案從 "C:\Code\WebApplication1\WebApplication1\Web.config" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\WebAppli
cation1.dll.config"。
CopyFilesToOutputDirectory:
正在將檔案從 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.dll" 複製到 "C:\Code\WebApplication1\WebApplic
ation1\bin\WebApplication1.dll"。
WebApplication1 -> C:\Code\WebApplication1\WebApplication1\bin\WebApplication1.dll
正在將檔案從 "C:\Code\WebApplication1\WebApplication1\obj\Debug\WebApplication1.pdb" 複製到 "C:\Code\WebApplication1\WebApplic
ation1\bin\WebApplication1.pdb"。
CopyRoslynCompilerFilesToOutputDirectory:
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csc.exe" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.exe"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csc.exe.config" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.exe.config"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csc.rsp" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csc.rsp"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csi.exe.config" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.exe.config"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csi.rsp" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.rsp"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
csi.exe" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\csi.exe"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.Build.Tasks.CodeAnalysis.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Build.Tasks
.CodeAnalysis.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CodeAnalysis.CSharp.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.CSh
arp.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CodeAnalysis.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CodeAnalysis.CSharp.Scripting.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAn
alysis.CSharp.Scripting.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CodeAnalysis.Scripting.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysis.
Scripting.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CSharp.Core.targets" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CSharp.Core.targets"
。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.CodeAnalysis.VisualBasic.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.CodeAnalysi
s.VisualBasic.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.DiaSymReader.Native.x86.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.DiaSymReader
.Native.x86.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.Managed.Core.targets" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Managed.Core.target
s"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.DiaSymReader.Native.amd64.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.DiaSymRead
er.Native.amd64.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.Win32.Primitives.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.Win32.Primitives.dl
l"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
Microsoft.VisualBasic.Core.targets" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\Microsoft.VisualBasic.Cor
e.targets"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.AppContext.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.AppContext.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Console.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Console.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Collections.Immutable.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Collections.Immutabl
e.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Diagnostics.FileVersionInfo.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.Fi
leVersionInfo.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Diagnostics.DiagnosticSource.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.D
iagnosticSource.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Globalization.Calendars.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Globalization.Cale
ndars.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.IO.Compression.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.Compression.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Diagnostics.StackTrace.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Diagnostics.StackTr
ace.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.IO.Compression.ZipFile.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.Compression.ZipF
ile.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.IO.FileSystem.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.FileSystem.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.IO.FileSystem.Primitives.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.IO.FileSystem.Pri
mitives.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Net.Sockets.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Net.Sockets.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Net.Http.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Net.Http.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Runtime.InteropServices.RuntimeInformation.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System
.Runtime.InteropServices.RuntimeInformation.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Reflection.Metadata.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Reflection.Metadata.dl
l"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Security.Cryptography.Encoding.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.Cr
yptography.Encoding.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Security.Cryptography.Algorithms.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.
Cryptography.Algorithms.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Security.Cryptography.X509Certificates.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Sec
urity.Cryptography.X509Certificates.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Security.Cryptography.Primitives.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Security.
Cryptography.Primitives.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Text.Encoding.CodePages.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Text.Encoding.Code
Pages.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.ValueTuple.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.ValueTuple.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Threading.Tasks.Extensions.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Threading.Tasks
.Extensions.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Xml.ReaderWriter.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.ReaderWriter.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Xml.XPath.XDocument.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XPath.XDocument.dl
l"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Xml.XPath.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XPath.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
System.Xml.XmlDocument.dll" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\System.Xml.XmlDocument.dll"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
vbc.exe.config" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.exe.config"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
vbc.rsp" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.rsp"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
vbc.exe" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\vbc.exe"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
VBCSCompiler.exe.config" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\VBCSCompiler.exe.config"。
正在將檔案從 "C:\Code\WebApplication1\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\roslynlatest\
VBCSCompiler.exe" 複製到 "C:\Code\WebApplication1\WebApplication1\bin\roslyn\VBCSCompiler.exe"。
SonarWriteProjectData:
Sonar: (WebApplication1.csproj) Project processed successfully
專案 "C:\Code\WebApplication1\WebApplication1\WebApplication1.csproj" (Rebuild 目標) 建置完成。
專案 "C:\Code\WebApplication1\WebApplication1.sln" (Rebuild 目標) 建置完成。
建置成功。
0 個警告
0 個錯誤
經過時間 00:00:01.29
C:\Code\WebApplication1>SonarScanner.MSBuild.exe end /d:sonar.login="sqp_ee9f32dd70a77dff027e24ee836aef031d8c4d75"
SonarScanner for MSBuild 5.8
Using the .NET Framework version of the Scanner for MSBuild
Post-processing started.
Calling the TFS Processor executable...
The TFS Processor has finished
Calling the SonarScanner CLI...
INFO: Scanner configuration file: C:\sonar-scanner-msbuild-5.8.0.52797-net46\sonar-scanner-4.7.0.2747\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\Code\WebApplication1\.sonarqube\out\sonar-project.properties
INFO: SonarScanner 4.7.0.2747
INFO: Java 11.0.16.1 Microsoft (64-bit)
INFO: Windows Server 2022 10.0 amd64
INFO: User cache: C:\Users\Administrator\.sonar\cache
INFO: Scanner configuration file: C:\sonar-scanner-msbuild-5.8.0.52797-net46\sonar-scanner-4.7.0.2747\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: C:\Code\WebApplication1\.sonarqube\out\sonar-project.properties
INFO: Analyzing on SonarQube server 9.7.0.61563
INFO: Default locale: "zh_TW", source code encoding: "x-windows-950" (analysis is platform dependent)
INFO: Load global settings
INFO: Load global settings (done) | time=124ms
INFO: Server id: 147B411E-AYPpxPXyud4SDVuzfoCX
INFO: User cache: C:\Users\Administrator\.sonar\cache
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=140ms
INFO: Load/download plugins (done) | time=1812ms
INFO: Process project properties
INFO: Process project properties (done) | time=16ms
INFO: Execute project builders
INFO: Execute project builders (done) | time=46ms
INFO: Project key: Project1Key
INFO: Base dir: C:\Code\WebApplication1\WebApplication1
INFO: Working dir: C:\Code\WebApplication1\.sonarqube\out\.sonar
INFO: Load project settings for component key: 'Project1Key'
INFO: Load project settings for component key: 'Project1Key' (done) | time=46ms
WARN: SCM provider autodetection failed. Please use "sonar.scm.provider" to define SCM of your project, or disable the SCM Sensor in the project settings.
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=62ms
INFO: Load active rules
INFO: Load active rules (done) | time=3405ms
INFO: Load analysis cache
INFO: Load analysis cache (404) | time=156ms
INFO: Load project repositories
INFO: Load project repositories (done) | time=30ms
INFO: Indexing files...
INFO: Project configuration:
INFO: Indexing files of module 'WebApplication1'
INFO: Base dir: C:\Code\WebApplication1\WebApplication1
INFO: Source paths: Default.aspx.cs, Default.aspx.designer.cs, Properties/Assembl...
INFO: Indexing files of module 'Project1Key'
INFO: Base dir: C:\Code\WebApplication1\WebApplication1
INFO: 7 files indexed
INFO: Quality profile for cs: Sonar way
INFO: Quality profile for web: Sonar way
INFO: ------------- Run sensors on module WebApplication1
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=46ms
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=0ms
INFO: Sensor CSS Rules [javascript]
ERROR: ??T: ?????????????C
WARN: Node.js not found in PATH. PATH value was: C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\sonarqube-9.7.0.61563\bin\windows-x86-64;C:\sonar-scanner-msbuild-5.8.0.52797-net46;C:\sonar-scanner-msbuild-5.8.0.52797-net46\sonar-scanner-4.7.0.2747\bin;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\.dotnet\tools
INFO: Hit the cache for 0 out of 0
INFO: Miss the cache for 0 out of 0
INFO: Sensor CSS Rules [javascript] (done) | time=10199ms
INFO: Sensor C# Project Type Information [csharp]
INFO: Sensor C# Project Type Information [csharp] (done) | time=16ms
INFO: Sensor C# Analysis Log [csharp]
INFO: Roslyn version: 4.3.0.0
INFO: Language version: CSharp7_3
INFO: Concurrent execution: enabled
INFO: Sensor C# Analysis Log [csharp] (done) | time=15ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=0ms
INFO: Sensor HTML [web]
INFO: Sensor HTML [web] (done) | time=188ms
INFO: Sensor Text Sensor [text]
INFO: 3 source files to be analyzed
INFO: 3/3 source files have been analyzed
INFO: Sensor Text Sensor [text] (done) | time=16ms
INFO: Sensor VB.NET Project Type Information [vbnet]
INFO: Sensor VB.NET Project Type Information [vbnet] (done) | time=0ms
INFO: Sensor VB.NET Analysis Log [vbnet]
INFO: Sensor VB.NET Analysis Log [vbnet] (done) | time=15ms
INFO: Sensor VB.NET Properties [vbnet]
INFO: Sensor VB.NET Properties [vbnet] (done) | time=0ms
INFO: ------------- Run sensors on module Project1Key
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=0ms
INFO: Sensor CSS Rules [javascript]
INFO: No CSS, PHP, HTML or VueJS files are found in the project. CSS analysis is skipped.
INFO: Sensor CSS Rules [javascript] (done) | time=0ms
INFO: Sensor C# Project Type Information [csharp]
INFO: Sensor C# Project Type Information [csharp] (done) | time=0ms
INFO: Sensor C# Analysis Log [csharp]
INFO: Sensor C# Analysis Log [csharp] (done) | time=0ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=0ms
INFO: Sensor Text Sensor [text]
INFO: 0 source files to be analyzed
INFO: 0/0 source files have been analyzed
INFO: Sensor Text Sensor [text] (done) | time=0ms
INFO: Sensor VB.NET Project Type Information [vbnet]
INFO: Sensor VB.NET Project Type Information [vbnet] (done) | time=0ms
INFO: Sensor VB.NET Analysis Log [vbnet]
INFO: Sensor VB.NET Analysis Log [vbnet] (done) | time=16ms
INFO: Sensor VB.NET Properties [vbnet]
INFO: Sensor VB.NET Properties [vbnet] (done) | time=0ms
INFO: ------------- Run sensors on project
INFO: Sensor C# [csharp]
INFO: Importing results from 6 proto files in 'C:\Code\WebApplication1\.sonarqube\out\0\output-cs'
INFO: Importing 1 Roslyn report
INFO: Found 1 MSBuild C# project: 1 MAIN project.
INFO: Sensor C# [csharp] (done) | time=140ms
INFO: Sensor Analysis Warnings import [csharp]
INFO: Sensor Analysis Warnings import [csharp] (done) | time=0ms
INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=16ms
INFO: SCM Publisher No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
INFO: CPD Executor Calculating CPD for 3 files
INFO: CPD Executor CPD calculation finished (done) | time=15ms
INFO: Analysis report generated in 172ms, dir size=124.6 kB
INFO: Analysis report compressed in 141ms, zip size=19.7 kB
INFO: Analysis report uploaded in 94ms
INFO: ANALYSIS SUCCESSFUL, you can find the results at: http://localhost:9000/dashboard?id=Project1Key
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AYPqPkovm1i1HB6K5UeK
INFO: Analysis total time: 20.917 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 25.089s
INFO: Final Memory: 16M/57M
INFO: ------------------------------------------------------------------------
The SonarScanner CLI has finished
16:38:17.521 Post-processing succeeded.
C:\Code\WebApplication1>
|
執行結果
Open Redirect 是 Micro Focus Fortify SCA ( Static Code Analyzer ) 會被報告的問題,但在 SonarQube 似乎沒有被報告,Google 很多文章都說 SonarQube 是原始碼品質檢測軟體,而未提原始碼安全,或許無法真的和商業軟體相比。
初次測試使用,文章僅供參考。至於更多的測試,以及使用資料庫,等有空再說。
********************************************************************************
補:後來拿一個 .NET Framework 4.8 的 ASP.NET WebForm 方案來測試,有執行完,但有1萬多個 Warning。結果是偏原始碼品質,不知商業版的是否會有較多原始碼安全的部分。
(完)
沒有留言:
張貼留言