如何修复.net标准2.0项目中的“无法加载文件或程序集System.IO.Packaging,版本= 4.0.3.0”

时间:2019-07-03 17:10:33

标签: c# winforms openxml .net-standard-2.0 system.io.packaging

我正在尝试处理Word文档。为此,我安装了DocumentFormat.OpenXml NuGet包。它安装了以下依赖项:

  • DocumentFormat.OpenXml
  • System.IO.Packaging(4.5.0)
  • System.Runtime.Serialization

Here is the Screen shot

一旦它触及了我正在处理word文档的代码。它引发此错误“无法加载文件或程序集'System.IO.Packaging,版本= 4.0.3.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。”

到目前为止,我已经尝试了以下操作:

  • 尝试将对System.IO.Packaging的引用手动添加到CSPROJ文件中,但是没有用,并且出现了相同的错误。
  <ItemGroup>
    <PackageReference Include="DocumentFormat.OpenXml" Version="2.9.1" />
    <PackageReference Include="System.IO.Packaging" Version="4.5.0" />
    <PackageReference Include="System.Data.Common" Version="4.3.0" />
    <PackageReference Include="System.Data.SqlClient" Version="4.6.1" />
  </ItemGroup>
  • 我尝试添加“ WindowsBase” nuget程序包,但显示冲突:
The type 'Package' exists in both 'System.IO.Packaging, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 

该错误抱怨版本4.0.3.0,但nuget添加了System.IO.Packaging DLL的版本4.5.0。我该如何解决?

1 个答案:

答案 0 :(得分:0)

尝试删除对System.IO.Packaging (4.5.0)的引用,然后尝试添加“ WindowsBase” nuget程序包

尝试

Update-Package –reinstall System.IO.Packaging