2012-02-16 7 views
8

Googleのアプリには、ユーザーがExcel 2007スプレッドシートから特定の情報をインポートできる機能が追加されています(すべてのユーザーは既にOffice 2007を使用しています)。ビルドマシンでMicrosoft Office 2007をインストールする必要がありますか?

開発マシンにはOffice 2007があり、開発者はMicrosoft.Office.Interop.Excelへの参照を追加しました。

ただし、ビルドマシンにはOffice 2007がインストールされていません。ビルドマシンでビルドを実行すると、「Microsoftという名前空間に型または名前空間の名前 'Office'が存在しません(アセンブリ参照がありませんか)」

I Office 2007 Primary Interop Assemblies redistributableをダウンロードしました。しかし、ビルドマシンでmsiを実行すると、「この製品をインストールする前にMicrosoft Office 2007をインストールしてください」というメッセージボックスが表示されます。

ビルドマシンにOffice 2007をインストールすることは本当に必要ですか?これには別の方法がありますか?

+1

Microsoft.Office.Interop.Excelがソースコードでチェックインされていることを確認してください.VSプロジェクトはGACからではなくソースツリーから参照していますか? –

+2

@DavidePiras - それが答えでした!リファレンスをGACからソースツリーに変更すると、ビルドが機能しました。 .netタブを使用しないでプロジェクトからファイルを参照しますが、参照してディスクから選択します。あなたが答えとしてあなたの提案を加えるなら、私はそれを受け入れます。ありがとう! –

答えて

11

Microsoft.Office.Interop.Excelアセンブリがソースコードでチェックインされていて、VSプロジェクトがソースツリーから参照していて、GACではないことを確認してください。

これが完了したら、必ずMS Officeをビルドマシンにインストールする必要はありませんが、アプリケーションを実行するためにはそれが必要になります。

-1

はい、アプリを実行するすべてのマシンにExcelがインストールされている必要があります。

+2

しかし、私はビルドマシン上で私のアプリを実行したくない - 私はそれを構築したいですか? –

+1

いいえあなたはExcelをインストールする必要はありません - 上記のDavidePirasの回答を参照してください –

1

すべてのDLLの依存関係を確認するには、devsに問い合わせてください。これは、「自分のマシンで動作する」という明確なケースです。デベロッパーを動作させていないマシンにドラッグする必要があり、ドキュメントが「依存セクション」にないことを指摘します。ソースコードにアクセスしたり、アセンブリでILSpyを実行することができれば、これを適切に追跡することができます。

Excelをインストールするだけですが、これはスレッジハンマーで問題になります。あなたの開発者は本当に必要なものを知っておくべきです.....

関連する問題