.NET Framework版本升级后的程序集不匹配
在.NET Framework项目中升级IronPDF后,应用程序在运行时抛出此异常:
System.IO.FileLoadException: Could not load file or assembly 'IronPdf, Version=X.Y.Z.W,
Culture=neutral, PublicKeyToken=...' or one of its dependencies. The located assembly's
manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)
NuGet包升级会安装新的程序集版本,但旧版本仍然缓存于项目的runtimes输出目录中。 .NET Framework在查找NuGet缓存前会从这些本地文件夹中解析程序集,因此陈旧的缓存DLL与新安装的包冲突,导致绑定失败。
解决方案
步骤 1:使用Visual Studio中的NuGet包管理器(工具 > NuGet包管理器 > 管理解决方案的NuGet包)卸载IronPDF和所有与Iron相关的包(如IronPdf.Native.Chrome.Windows)。
步骤 2:从项目输出目录中删除bin/Release)文件夹。
步骤3:通过NuGet包管理器重新安装IronPDF。
如果Visual Studio的清理不足,通过命令行清除全局NuGet缓存并强制进行一次清洁恢复:
dotnet nuget locals all --clear
dotnet restore --force
dotnet nuget locals all --clear
dotnet restore --force
对于服务器部署:在重新发布之前,从服务器目录中删除所有旧的IronPDF DLL。 部署到新的目录,并更新IIS以指向新位置,而不是覆盖现有文件。

