2021年8月7日 星期六

[研究]Fortify SCA Scan Wizard 的 MSBuild 或 Visual Studio 無法運作之解決

[研究]Fortify SCA Scan Wizard 的 MSBuild  或 Visual Studio 無法運作之解決 - 'MSBuild' 不是內部或外部命令、可執行的程式或批次檔。

2021-08-07

 若勾選 MSBuild ( 無法同時勾2個)


D:\CODE\WebApplication2>FortifyWebApplication2Build.bat
Extracting Arguments File Cleaning previous scan artifacts Running Build Integration 'MSBuild' 不是內部或外部命令、可執行的程式或批次檔。 Testing Difference between Translations [error]: Unable to load build session with ID "WebApplication2". See log file for more details.
It appears to be the first time running this script, setting "FortifyWebApplication2Build.bat.fileno" to 0 Starting scan [error]: Unable to load build session with ID "WebApplication2". See log file for more details.
sourceanalyzer failed, exiting D:\CODE\WebApplication2>

若勾選 Visual Studio  ( 無法同時勾2個)


D:\CODE\WebApplication2>FortifyWebApplication2VS.bat
Extracting Arguments File Cleaning previous scan artifacts Running Build Integration 'MSBuild' 不是內部或外部命令、可執行的程式或批次檔。 Testing Difference between Translations [error]: Unable to load build session with ID "WebApplication2". See log file for more details.
It appears to be the first time running this script, setting "FortifyWebApplication2VS.bat.fileno" to 0
Starting scan [error]: Unable to load build session with ID "WebApplication2". See log file for more details.
sourceanalyzer failed, exiting D:\CODE\WebApplication2>

.NET Framework 或 Visual Studio 都有提供 MSBuild.exe,但是預設是無法執行到。PATH 環境變數沒有包含它。



搜尋一下 MSBuild.exe 在哪個目錄。

Everythiny (快速搜尋工具)



選一個較新的 x86 或 x64 版的,設定其路徑在 PATH 環境變數中。
( 選 x86 失敗,就改用 x64;選 x64 失敗,就改用 x86;依據你的程式可能不同)
( Windows 若為 x64,建議先選 x64 的)

敝人曾選 .NET x64 目錄下的,不能用;改選 Visual Studio 目錄下的可用。








編輯完記得一路按下「確定」按鈕,讓設定生效。

另外,設定前已經開啟的「命令提示字元」視窗是無用的,請開啟一個新的「命令提示字元」視窗使用。

可以執行到MSbuild.exe 了

C:\>msbuild -ver
Microsoft (R) Build Engine for .NET Framework 17.2.1+52cd2da31 版
Copyright (C) Microsoft Corporation. 著作權所有,並保留一切權利。

17.2.1.25201
C:\>

開始掃描

D:\CODE\WebApplication2>FortifyWebApplication2Build.bat

Extracting Arguments File

Cleaning previous scan artifacts

Running Build Integration

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe /fileLogger /nologo /binaryLogger:LogFile=C:\Users\Administrator\AppData\Local\Fortify\sca21.1\build\WebApplication2\scratch\MSBuildPlugin\logs\MSBuildIntegration.binlog;ProjectImports=ZipFile /consoleloggerparameters:Summary /fileloggerparameters:LogFile=C:\Users\Administrator\AppData\Local\Fortify\sca21.1\build\WebApplication2\scratch\MSBuildPlugin\logs\MSBuildIntegration.log;Verbosity=minimal;Encoding=UTF-8 /maxcpucount:1 /p:CustomAfterMicrosoftCommonTargets=C:\Program Files\Fortify\Fortify_SCA_and_Apps_21.1.2\Core/private-bin/sca/msbuildplugin/Fortify.targets /p:Configuration=Debug /p:Platform=Any CPU /target:rebuild /verbosity:quiet D:\CODE\WebApplication2\WebApplication2.sln
... (略)

成功了

(完)

沒有留言:

張貼留言