[UE5.3] Jenkins主機搬移 疑難排解

 跑"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" "%WORKSPACE%\xxx.sln" /t:build /p:Configuration="Development Editor";Platform=Win64;verbosity=diagnostic

出現找不到dotnet sdk的錯誤

本機解決方法 (因為裝了x86 & 64,預設讀x86)
https://blog.csdn.net/Azurecorner/article/details/131920514

Jenkins解決方法
https://blog.cashwu.com/blog/jenkins-build-asp-net-core/
Jenkins>設定>全域屬性>新增>名稱:Path, 值:C:\Program Files\dotnet\

-------------

跑"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" "%WORKSPACE%\xxx.sln" /t:build /p:Configuration="Development Editor";Platform=Win64;verbosity=diagnostic

出現C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): error NETSDK1004: 找不到資產檔案 'E:\UE_5.3\Engine\Source\Programs\UnrealBuildTool\obj\project.assets.json'。請執行 NuGet 套件還原,以產生此檔案。 [E:\UE_5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]

解決
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" "E:\JenkinsWorkspace\xxx\xxx.sln" -restore

----------------

跑"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" "%WORKSPACE%\xxx.sln" /t:build /p:Configuration="Development Editor";Platform=Win64;verbosity=diagnostic

出現錯誤

"E:\JenkinsWorkspace\xxx\xxx.sln" (build 目標) (1) ->"E:\UE_5.3\Engine\Source\Programs\AutomationTool\Android\Android.Automation.csproj" (預設目標) (15) ->"E:\UE_5.3\Engine\Source\Programs\AutomationTool\Scripts\AutomationScripts.Automation.csproj" (預設目標) (17:2) ->(CoreCompile 目標) ->E:\UE_5.3\Engine\Source\Programs\AutomationTool\Scripts\CheckForHacks.cs(87,26): error CA2017: 記錄訊息範本中提供的參數數目不符合已命名預留位置的數目 (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2017) [E:\UE_5.3\Engine\Source\Programs\AutomationTool\Scripts\AutomationScripts.Automation.csproj]

"E:\JenkinsWorkspace\xxx\xxx.sln" (build 目標) (1) ->
"E:\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.Automation.csproj" (預設目標) (22) ->
E:\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BgScriptReader.cs(1640,37): error CS8604: 'void HashSet<string>.UnionWith(IEnumerable<string> other)' 中的參數 'other' 可能有 Null 參考引數。 [E:\UE_5.3\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.Automation.csproj]

6 個警告

2 個錯誤

-------------

解決方法
https://github.com/EpicGames/UnrealEngine/pull/11110

--------------

出現錯誤
'powershell.exe' 不是內部或外部命令、可執行的程式或批次檔。

解決:
Jenkins>設定>全域屬性>新增>名稱:Path, 值:C:\Windows\System32\WindowsPowerShell\v1.0\

---------------

跑E:\JenkinsWorkspace\xxx>tar -acf ".\temp\Archive\xxx_2285.zip" -C temp "xxx"

'tar' 不是內部或外部命令、可執行的程式或批次檔。

解決:
Jenkins>設定>全域屬性>新增>名稱:Path, 值:C:\Windows\System32

--------------

error : 無法解析 SDK "Microsoft.NET.Sdk"

安裝 VS 2022 .NET桌面開發

這個網誌中的熱門文章

Windows10 版本1607後可啟用支援長路徑檔名 (Maximum Path Length Limitation)

標準使用者如何執行需系統管理者權限的程式

Shared Memory