2016-10-25 5 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が自動的に非表示の非対話型クライアントアプリケーションまたはコンポーネント(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

この詳しい手順については、ユージンに感謝します。 –

関連する問題