You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenXML SDK在.NET应用中触发InvalidProgramException求助

.NET 9中使用OpenXML SDK触发InvalidProgramException问题

环境与问题

  • .NET 9应用,使用OpenXML SDK 2.9.1版本,所有NuGet包均为最新版
  • 调用自定义方法AddColumnValue时触发错误,错误信息:

Common Language Runtime detected an invalid program. - System.InvalidProgramException: Common Language Runtime detected an invalid program.

出错代码

private void AddColumnValue(string columnValue, Row row)
{
    Cell cell = new Cell();
    cell.DataType = CellValues.String;
    cell.CellValue = new CellValue(columnValue);
    row.AppendChild(cell);
}

已排查操作

  • 推测错误由Row参数触发
  • 清理所有二进制文件(包括NuGet缓存)
  • 更换多个.NET版本测试:.NET 8、.NET 6、.NET Standard 2.1/2.0
  • 更换不同版本的OpenXML SDK
  • 重写代码后仍抛出相同异常,目前无解决思路

堆栈跟踪

Common Language Runtime detected an invalid program. - System.InvalidProgramException: Common Language Runtime detected an invalid program.
   at HcmErpOpenXmlHelpers.Services.ExcelWriterService.AddColumnValue(String columnValue, Row row)
   at HcmErpOpenXmlHelpers.Services.ExcelWriterService.AddRow(String[] values) in C:\tfs\HcmErpUtil\HcmErpUtilOpenXmlHelpers2\Services\ExcelWriterService.cs:line 98
   at HcmErpOpenXmlHelpers.Services.ExcelWriterService.GenerateExcelFile[T](String fileName, List`1 list, String[] headers, Func`4 valueAdapterFunc) in C:\tfs\HcmErpUtil\HcmErpUtilOpenXmlHelpers2\Services\ExcelWriterService.cs:line 69
   at HcmErpUtilQlikviewFileUpdater.Services.QlikViewFileUpdateService.UpdateQlikViewFileAsync(String csvFileName, String excelFileName, CancellationToken cancellationToken) in C:\tfs\HcmErpUtil\HcmErpUtilQlikviewFileUpdater\Services\QlikViewFileUpdateService.cs:line 66
   at HcmErpUtilFacade.UseCases.UpdateQlikViewFile(String csvFileName, String excelFileName, CancellationToken cancellationToken) in C:\tfs\HcmErpUtil\HcmErpUtilFacade\UseCases.cs:line 90
   at HcmErpUtilConsole.HostedService.<>c__DisplayClass14_0.<SetupUpdateQlikViewFiles>b__0() in C:\tfs\HcmErpUtil\HcmErpUtilConsole\HostedService.cs:line 254
   at McMaster.Extensions.CommandLineUtils.CommandLineApplication.<>c__DisplayClass143_0.<OnExecute>b__0(CancellationToken _)
   at McMaster.Extensions.CommandLineUtils.CommandLineApplication.ExecuteAsync(String[] args, CancellationToken cancellationToken)
   at HcmErpUtilConsole.HostedService.ExecuteAsync(CancellationToken unusedCancellationToken) in C:\tfs\HcmErpUtil\HcmErpUtilConsole\HostedService.cs:line 66

备注:除AddColumnValue方法含Row参数外,堆栈跟踪仅涉及自有代码。

内容的提问来源于stack exchange,提问作者Soeren Dalby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:58:19