0
我在寫一個需要讀取excel文件的C#程序(.net 2.0)。我開始知道我將不得不使用Microsoft.Office.Interop.Excel
。我下載了O2003PIA.MSI
並使用7Zip,提取了DLL(未安裝)。現在,當我添加參照提取EXCELPIA.DLL
,它引發以下錯誤:使用Office 2003 interop DLL而不安裝可再發行
Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.
我要部署的組件作爲專用程序集,並且不希望最終用戶安裝可再發行。有什麼依賴我失蹤?
我已經嘗試添加對OFFICE.DLL
的引用,但它也沒有幫助。
編輯1
- 使用此之前,安裝Office 2003需要它?
- 是否還有其他.net 2.0選擇?
PIA只是包裝:使用「依賴查看器」來查看是否有任何缺少先決條件的DLL。在加載程序集時(即在可搜索的DLL路徑中),必須找到這些DLL,但不應將*添加爲項目引用。請記住安裝的各個Office程序使用PIA。此外,請確保只針對正確的位(32位for Office 2003),因爲64位可執行文件無法找到正確的32位資源。 – 2013-01-07 03:50:14
我用Dependency Walker,發現它取決於MSCOREE.dll –
這確實是Office的一部分:)但是,我不知道是否有可能獲取/分發這樣的文件*但不安裝Office。 (另外,如果安裝了Office,則驗證VS是否以32位模式運行;直到Office 2007才提供64位Office支持。) – 2013-01-07 03:56:35