簡體   English   中英

COM 不受支持:AWS 中的 PlatformNotSupportedException Lambda .net 3.1

[英]COM is not supported: PlatformNotSupportedException in AWS Lambda .net 3.1

我正在使用 AWS Lambda .NET 3.1 遷移解決方案。 此解決方案最初內置於 .NET 4.8 FRAMEWORK 中。 當我使用 Visual Studio AWS SDK 集成構建解決方案時,我沒有遇到任何問題,但是當我在 lambda 控制台中對此進行測試時,我收到以下錯誤消息:

COM 不受支持:PlatformNotSupportedException

在 WeeklyDevReportGenerator.ParseDevopsCSVs.ParseCSV(字符串文件名)

    public void ParseCSV(string fileName)
    {
        xlApp = new Application();
        xlWorkbook = xlApp.Workbooks.Open(fileName);
        xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Sheets[1];
        xlRange = (Microsoft.Office.Interop.Excel.Range)xlWorksheet.UsedRange;

        rowCount = xlRange.Rows.Count;
        colCount = xlRange.Columns.Count;

        Read();
        CleanUp();

        week++;
    }

這次我很迷茫,我開始認為我可能需要將項目遷移到 aws 支持的 .NET 6.0。

還有其他解決方案嗎?

您將需要重寫與 Excel 工作簿交互的代碼。

您的代碼(間接)使用一種稱為COM的技術與 Excel 的本地實例進行通信。您得到的錯誤是說 COM 不受 Lambda 跑步者的支持,但更根本的問題是沒有Excel 在 lambda 跑步者上。

最直接的方法是用一個可以讀+寫 Excel 文件的庫替換你對 Excel 的使用。 ClosedXML、EPPlus、Aspose.Cells 和 NPOI 都是流行的選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM