今天在進行導出Excel開發的過程中,使用NPOI,在本地調試的時候運行正常,但發布到服務器后報錯如下:
Could not load file or assembly 'NPOI, Version=2.2.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
讀取不到版本2.2.1.0的NPOI dll文件
1、首先想到的是版本不支持的問題,從NPOI3.1換到2.2.1.0發現還是如此
2、文件權限安全性,讀取不到的問題,在NPOI的dll文件修改文件安全為完全控制 還是沒有解決
3、win64應用池不支持win32 bin文件的問題,修改程序池屬性 還是沒有解決
4、web.config文件缺少引用,將以下內容添加入config中,解決
<assemblyIdentity name="NPOI" publicKeyToken="0df73ec7942b34e1" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="NPOI.OOXML" publicKeyToken="0df73ec7942b34e1" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" /> </dependentAssembly>
先前在發布的時候盡量不去修改config文件,里面有配置的數據庫連接字符串,沒想到栽跟頭了。。。