iT邦幫忙

0

Fortify SCA 源碼檢測碰到問題

  • 分享至 

  • xImage

有一個方案,裡面有三個專案,在使用 Visual Studio 執行「建置方案」,都驗證完成,沒有失敗。

驗證完成
========== 組建: 3 成功或最新狀態、0 失敗、0 略過 ==========

然後使用 Visual Studio 裡的 Fortify plugin (SCA) 去分析程式碼,會因為有一個錯誤而中斷,在查看 log 時發現 SCA 在分析程式碼前會先使用 MSBuild 去重建這個方案,然後中間的過程是用 aspnet_compiler 去對每個專案重建,在使用 aspnet_compiler 去重建時,兩個成功,一個失敗,因為沒有顯示失敗的訊息,只顯示「error MSB6006: "aspnet_compiler.exe" 以返回碼 1 結束。」,所以我在 CMD 重新執行失敗的這個專案的指令時有加上 -errorstack ,然後出現了以下訊息。

於 System.Web.Compilation.AssemblyBuilder.Compile()
於 System.Web.Compilation.WebDirectoryBatchCompiler.CompileAssemblyBuilder(AssemblyBuilder builder)
於 System.Web.Compilation.WebDirectoryBatchCompiler.CompileAssemblyBuilderParallel(ICollection assemblyBuilders)
於 System.Web.Compilation.WebDirectoryBatchCompiler.CompileNonDependentBuildProviders(ICollection buildProviders)
於 System.Web.Compilation.WebDirectoryBatchCompiler.Process()
於 System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
於 System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
於 System.Web.Compilation.BuildManager.PrecompileWebDirectoriesRecursive(VirtualDirectory vdir, Boolean topLevel)
於 System.Web.Compilation.BuildManager.PrecompileWebDirectoriesRecursive(VirtualDirectory vdir, Boolean topLevel)
於 System.Web.Compilation.BuildManager.PrecompileAppInternal(VirtualPath startingVirtualDir, IEnumerable1 excludedVirtualPaths) 於 System.Web.Compilation.BuildManager.PrecompileApp(VirtualPath startingVirtualDir, IEnumerable1 excludedVirtualPaths)
於 System.Web.Compilation.BuildManager.PrecompileApp(ClientBuildManagerCallback callback, IEnumerable1 excludedVirtualPaths) 於 System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback, List1 excludedVirtualPaths)
於 System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback, List`1 excludedVirtualPaths)
於 System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback, Boolean forceCleanBuild)
於 System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback)
於 System.Web.Compilation.Precompiler.Main(String[] args)

想請問這會是什麼原因?為什麼在 Visual Studio 裡建置成功,但是用指令執行時會失敗。

Visual Studio 2017
aspnet_compiler.exe (Microsoft (R) ASP.NET Compilation Tool 版本 4.8.3761.0)
SCA 21.2.3

謝謝!

pico2k iT邦新手 5 級 ‧ 2022-04-25 16:28:03 檢舉
MSbuild和VS Build其實做的事情不一樣 https://stackoverflow.com/questions/39667822/differences-between-visual-studio-build-step-and-msbuild-build-step
canchang iT邦新手 3 級 ‧ 2022-04-25 23:19:47 檢舉
原來如此,難怪,再來研究看看。
謝謝!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答