技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

Could not load file or assembly Microsoft.Office.Interop.Word

作者:admin    時間:2021-8-19 11:17:36    瀏覽:

今天更新了一下程序,運行時卻出現(xiàn)了如下提示的錯誤:

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

根據(jù)提示語句,我知道是因為程序引用了Word集合(Microsoft.Office.Interop.Word.dll)的原因,但是這個引用并不是現(xiàn)在才添加,而是很久以前就開始使用了,并且沒有任何問題。

再看看提示語句,說到有兩個可能原因所致:1、沒有找到文件 2、定位的程序集定義與程序集引用不匹配。

Could not load file or assembly Microsoft.Office.Interop.Word
(點擊圖片放大)

我檢查了一下,該引用文件是在bin文件夾里的,排除了“找不到文件”這個原因。把鼠標移到文件上面,顯示文件版本是12.0,這與錯誤報告里的Version=14.0.0.0是不匹配的,可能就是這個原因了。

Microsoft.Office.Interop.Word.dll 版本號

認真想了一下,以前之所以沒問題,是因為本地電腦安裝的office是2003,跟服務(wù)器上的版本一致,而近期本地安裝的office是2010,所以.net里的引用版本就改變了,跟服務(wù)器上的不一致了。

(這里我有點不明白,我程序引用的是bin文件夾里的文件(Microsoft.Office.Interop.Word.dll)沒有變,為什么編譯后卻變成了本機安裝的office版本?)

解決方法

知道了原因,解決起來就容易了。我如果在服務(wù)器也安裝office2010,問題就能解決。

但是我覺得安裝office2010非常麻煩,想用簡單點的方法。于是我就想,能否用版本為14.0的dll文件(Microsoft.Office.Interop.Word.dll)來替換服務(wù)器里程序使用的bin文件夾下的舊文件?

試一試看看。

立即在網(wǎng)上下載該版本的dll(Microsoft.Office.Interop.Word.dll)文件,拷貝到服務(wù)器里程序bin文件夾下,替換舊的文件。

重啟IIS。

運行程序。

竟然,成功了!

總結(jié)

解決方法:
1、下載對應(yīng)版本的dll文件,拷貝到bin目錄。
2、VS編寫程序時引用這個文件。
3、最后在實際應(yīng)用環(huán)境中,也要把此dll文件拷貝到bin目錄下。
4、重啟IIS

 

標簽: Word  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */