質問

私は、古いプロジェクト(.NET 2)をVisual Studio 2013にインポートしなければなりませんでした、それはマイクロソフトのプライマリインターポップアセンブリを利用します。

Visual Studioは、プロジェクトへの参照を追加する必要があると述べた。今、私は何人かの読書をしました、そして明らかにマイクロソフトはOffice 2010のためのPIAをリリースしましたか?(私はOffice 2013を持っています)

今私が知りたいことです。

  1. Office 2013と仕事をすることができ、下位互換性がありますか?
  2. そしてもしそうなら、これは未来のために行くための良いルートですか?それは互換性がありますか?.Net 2(最新の)が必要なので、Windows 8には4.5が付属しており(デフォルトで)、ほとんどの新しいコンピュータがOffice 2012または2013を持つことになっています。
役に立ちましたか?

解決

PIASは過去のアーティファクトで、古い.NETバージョン(V4の前)によってのみ必要です。彼らは、「いいえPIA」機能としても知られている「埋め込み相互撮影型」機能に徹底的かつ優雅に置き換えられてきました。 Visual Studio 2010以降、参照アセンブリを選択すると、プロパティウィンドウに戻ってください。それはデフォルトでTrueになります。基礎となるテクノロジをカバーする良いビデオはここで入手可能

マイクロソフトがOffice 2013のPIASを公開していない理由は、代わりに相互コップタイプを埋め込むことを期待しています。

特徴は非常に望ましいので、顧客は自分のマシンにPIASをインストールし、あなたのインストーラに含めることを避けてください。問題を解決すると、その問題を解決しない場合は、完全に一般的なMISHAPです。さらに、オフィスのPIASは非常に大きく、相互コップの種類を埋め込むという大きな利点は、アセンブリに実際に使用する型のみを含むことです。多くのメガバイトが数キロバイトに減少しました。

ワークフローは少し異なります。 [参照ダイアログの追加]ダイアログ[.NET Framework]タブで、Microsoft.Office.Interopアセンブリへの参照を追加する代わりに、COMタブを使用します。そして、Excelを使用するプログラムの相互コップタイプを生成するための「Microsoft Excel 15.0 Object Library」を選択します。以前にPIASを使用した古いプロジェクトをロードすると、それらの参照アセンブリを削除してCOMタブからそれらを追加するだけです。

あなたが実際にあなたのDev Machineにインストールしたことがない古いバージョンのオフィスを意図的にターゲットにしている機能が失われたことに注意してください。その場合は、そのバージョンのPIAが必要である場合は、[プロパティ]ウィンドウで埋め込み相手タイプをTRUEに強制します。実際にこれを行うことは疑問にあります。マイクロソフトには、新しいオフィスバージョンが古いバージョンと完全に互換性があることを維持するのに苦労しています。彼らは今15年間それを維持しましたが、それは蒸気を使い果たしていました。最悪のシナリオはあなたのマシンにインストールされているよりも新しいバージョンをターゲットにしています。

あなたのコードを修正するためにあなたのコードを修正する必要があることに注意してください。 Synthetic "AccessViolationException"クラスは埋め込まれていません。 "XxxxClass"インタフェースだけです。 new ステートメントから「Xxxx」という単語を削除するだけです。

他のヒント

Office 365と2015コミュニティ - COMオブジェクトからの追加が機能しない理由で何でもよい。解決策はGACに入り、インターポップアセンブリを見つけ、それらをTEMPディレクトリにコピーしてから、任意のDLLのようにプロジェクトに追加します。

また、わからない場合は、Windows 8には古いバージョンの.NET Frameworkがありますが、デフォルトではインストールされていません。プログラム機能に移動します---> Windows ---->に機能を追加し、最初のチェックボックスは.NET 3.0と2.0である必要があります。注意WSUSサーバー上にある場合は、Windows Update Serverからファイルを把うようにWindowsに指示する必要があります。それが役立つことを願っています!

公式に、オフィスのためのPIAの下位互換性はありません。実際にはうまくいきます。

下位互換性のため、私は数年後にOffice XPのPIAを使用していて、Office XP、2003,2007および2010(2013ではまだテストされていない)とWindows XP、Vista、7,8では大丈夫です。

Windowsの異なるバージョンとの互換性は、.NET Framework 3.5を使用しています。

将来のために...それはあなたがPIAで何をしていることから異なります。可能であれば、開いているXMLファイルを直接処理すること、またはWord / Excelのアドインを作成することをはるかに高くています。

Visual Studio 2013 Expressには、もうオフィスサポートがないことがわかりました。それで、あなたはそれを仕事をするために少なくともプロバージョンが必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top