因此,我一直致力於在AWS中的EC2實例中啓動並運行Bamboo CI服務器。一切都一帆風順;然而,我遇到了一個棘手的問題。 CI部分工作正常,但似乎在我的基於Ubuntu的Bamboo服務器上執行「dotnet lambda publish」開發的工件正在創建一個不兼容的包,而不是在Windows機器上執行「dotnet lambda publish」。當我部署由我的竹服務器生成的包,我只是得到了以下錯誤:在Windows環境和Ubuntu環境下執行「dotnet lambda package」的不同軟件包
{
"errorType": "LambdaException",
"errorMessage": "Unable to load assembly '<project-name>, Culture=neutral, PublicKeyToken=null'."
}
我看着包的內容,雖然有在文件中沒有明顯的差異;文件大小有一些差異。在Ubuntu上生成的包約爲14.8 MB,而在Windows上生成的包約爲15.4 MB。
任何人都可以解釋這些包過程之間的區別嗎?爲什麼在針對Ubuntu編譯時可能會獲得更小的包?爲什麼當Ubuntu軟件包抱怨找不到文件時,我的Windows軟件包正常工作?
我假定「dotnet lambda package」命令將專門爲Lambda上下文構建工具,而不考慮操作系統環境。使用相同的CLI命令在不同的環境中創建不同的,看起來不兼容的版本看起來很奇怪。
編輯:經進一步調查,我相信它有事情做與通過「DOTNET拉姆達包」 CLI的執行竹CI服務器上使用的壓縮和解進程。當我將它本地放入我的Windows機器並嘗試再次上傳軟件包時,它會失敗。經過多一點調查後,我發現如果我在Windows上解壓該軟件包,然後通過右鍵單擊並將其重新壓縮併發送到 - >壓縮(壓縮)文件夾,然後再次上載,則會開始完全相同的文件內容加工。在「dotnet lambda package」方法中,可能是zip執行的問題?
嚴重的是,這種需求是AWS文檔中的某處〜 – user3682091
右儘管!?很高興我的痛苦時間幫助別人節省了一些時間! –