コンパイルしようとしている.NETプロジェクトのソースを入手しました。ただし、プロジェクトでは、Office 2010の参照(名前空間)Microsoft.Office.Interop.Wordを使用していますが、どこにも見つかりません。ファイルをダウンロードできましたMicrosoft.office.interop.Word.dll
しかし、明らかにプロジェクトは関数を使用しているため、コンパイルされないため、Office 2007のものですDocument.SaveAs2
(Office 2010ライブラリから)。コンピューターにOffice 2007があり、デスクトップ用にVisual Studio 2012 Expressがあります。
これがどのように機能するか説明してもらえますか? dllをダウンロードできたのにOffice 2010から見つからなかったのはなぜですか。クライアントがこのdllなしでプロジェクトをコンパイルできたのはなぜですか。 Visual Studioは、コンパイル時にインストールされている場合、Microsoft Officeライブラリに自動的に「接続」しますか?
ご協力ありがとうございました。
アセンブリを正しくインストールした場合、ローカルシステムで自分でdllを検索するべきではありません。 officeをインストールせずにoffice相互運用ライブラリをダウンロードおよびインストールする方法については、次のリンクを参照してください。 2番目のリンクは、プロジェクトにアセンブリを正しく追加する方法を詳しく説明しています。
詳細な参照については、dllを正しく追加する方法を詳しく説明した写真をいくつか示します。
プロジェクトで、「参照」を右クリックし、「追加」、「参照」の順に選択します。
次に、参照マネージャーで「拡張機能」を選択し、スクロールして正しいDLLを見つけます。 Microsoft.Office.Interop.Word.dllのOffice 2010はバージョン14です。
nugetMicrosoft.Office.Interop.Word でインストールします。
Visual Studio 2019がリリースされたので、Visual Studio Tools for Office (VSTO)
というオプションのバンドルコンポーネントの一部としてMicrosoft Office相互運用ライブラリをインストールできます。
Microsoftはこれを非常に簡単にしました。GACでそれらを参照する必要はありません!
VS2012用のOfficeツールバンドルインストーラーをインストールした後、推奨されるリファレンスにリストされているMicrosoft.Office.Interop拡張機能を入手できます: http://blogs.msdn.com/b/somasegar/archive/2013/ 03/04/now-available-office-developer-tools-for-visual-studio-2012.aspx