VS项目引用差异:添加指定版DocumentFormat.OpenXml后csproj版本不符
解决手动添加DocumentFormat.OpenXml后csproj版本不匹配问题
操作步骤
- 清理现有冲突引用
先进入「管理NuGet程序包」界面,卸载所有已安装的DocumentFormat.OpenXml相关包,再到项目引用列表删除所有已存在的DocumentFormat.OpenXml引用,避免多版本冲突。 - 添加指定版本DLL并启用特定版本校验
重新打开Reference Manager,浏览选中本地2.5.5631.0版本的DocumentFormat.OpenXml.dll完成添加,之后卸载项目直接编辑.csproj文件,找到该组件的引用节点,修改为如下配置:
其中<Reference Include="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <HintPath>你本地DLL的实际存储路径\DocumentFormat.OpenXml.dll</HintPath> <SpecificVersion>True</SpecificVersion> </Reference>SpecificVersion设置为True是核心配置,会强制Visual Studio使用你指定的版本,不会自动升级引用版本。 - 禁用自动绑定重定向
打开项目属性页的「应用」选项卡,取消勾选「自动生成绑定重定向」;再检查app.config/web.config文件,删除<assemblyBinding>节点下所有DocumentFormat.OpenXml相关的重定向规则,避免配置覆盖csproj的版本设置。 - 验证配置生效
保存修改后重新加载项目,查看引用属性中DocumentFormat.OpenXml的版本、特定版本两项参数是否符合预期,重新生成项目后再次打开csproj确认版本号没有被自动修改即可。
补充建议
如果是SDK格式的csproj(对应.NET Core/.NET 5+项目),更推荐直接用NuGet命令安装指定版本,稳定性高于手动添加DLL:Install-Package DocumentFormat.OpenXml -Version 2.5.5631.0
内容的提问来源于stack exchange,提问作者Eugene
相关产品推荐
相关产品推荐

