2016-10-25 207 views
0

我正在使用VS 2015創建一個控制檯應用程序,該應用程序具有對Microsoft.Office.Interop.Excel的引用。當我一個服務器(Windows Server 2012),我收到以下錯誤上部署它:在服務器上部署VS 2015應用程序時出錯

Retrieving the COM class factory for component with CLSID {0004567-3456- 
    0000-C002-000434000046} failed due to the following error: 80040154 

我看了一些老的帖子暗示我必須Office 2010安裝在服務器上。但是,這是不可能的。有什麼辦法可以在我的應用程序中嵌入Excel程序集? 還是有任何不同的方法來解決這個問題?我需要做的只是提取Excel文件表名稱作爲列表...

回答

0

請記住,您需要在目標計算機上安裝主機應用程序。何時何地在服務器上運行控制檯應用程序?

由於Office可能不支持Microsoft Office應用程序從任何無人值守的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT服務)推出並不支持Microsoft Office應用程序的自動化當Office在此環境中運行時表現出不穩定的行爲和/或死鎖。

如果您正在構建一個在服務器端上下文中運行的解決方案,那麼您應該嘗試使用對於無人執行安全的組件。或者,您應該嘗試找到允許至少部分代碼運行客戶端的替代方案。如果您從服務器端解決方案使用Office應用程序,則該應用程序將缺少成功運行所需的許多必要功能。此外,您將面臨整體解決方案穩定性的風險。請閱讀Considerations for server-side Automation of Office文章中的更多內容。

如果您只處理開放的XML文檔,您可以考慮使用Open XML SDK。有關更多信息,請參見Welcome to the Open XML SDK 2.5 for Office。或者使用爲服務器端執行而設計的任何第三方組件。

+0

感謝尤金對這個詳細的說明。 –

相關問題