.NET控制台应用无法加载DocumentFormat.OpenXml程序集问题排查
问题原因及解决方案
核心原因
你的项目将netstandard2.0设为控制台应用的目标框架,但NetStandard是类库规范,并非可执行应用的运行时框架。控制台应用需要依赖具体的.NET运行时(如.NET Core/.NET 5+或.NET Framework),使用netstandard2.0会导致运行时无法正确加载第三方依赖程序集(比如DocumentFormat.OpenXml)。
解决步骤
- 修改项目文件的目标框架
打开你的.csproj文件,将<TargetFramework>netstandard2.0</TargetFramework>替换为适合控制台应用的运行时框架版本,示例:<PropertyGroup> <!-- 可根据环境选择net6.0、net7.0、net48等版本 --> <TargetFramework>net6.0</TargetFramework> <!-- 其他配置保持不变 --> </PropertyGroup> - 重新还原依赖并编译运行
在项目目录下执行以下命令:dotnet restore dotnet build dotnet run
额外排查点(若上述步骤无效)
- 确认依赖包已正确还原:检查项目目录下的
obj/project.assets.json文件,确认其中存在DocumentFormat.OpenXml的相关条目,若缺失则重新执行dotnet restore。 - 验证输出目录的依赖文件:编译后查看
bin/Debug/[你的目标框架]目录,确认DocumentFormat.OpenXml.dll是否存在;若不存在,可尝试清理项目后重新编译:dotnet clean dotnet build
内容的提问来源于stack exchange,提问作者user32882
相关产品推荐
相关产品推荐

