0

C# で記述された winforms アプリケーションに QuickTime 2.0 ActiveX プラグインを使用しようとしています。

まず、オブジェクトをツールボックスからフォームにドラッグしますが、ActiveX コントロールをインポートできないというエラーが表示され、正しく登録されていることを確認します。ソリューション エクスプローラーの参照ヘッダーの下に、AxQTOControlLib 参照が失敗したと表示されます。

これを解決するために (解決策を検索した後)、AxImp を使用して、QuickTime プログラム ファイルにある QTOControl.dll からコントロールに関連する C# ラッパーを作成しました。

次に、RegAsm を使用して .dll をシステムに登録しようとしましたが、これを行うと次のエラーが発生します。

「RegAsm : エラー RA0000 : ファイルまたはアセンブリ 'QTOControlLib、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。」

確認したところ、ファイルは確実に存在し、パスは正しいです。

.dll を登録し、Winforms アプリケーションで QuickTime ActiveX コントローラを使用できるように、この問題を解決する方法を教えてください。

次のセットアップを使用しています。

Windows 7 (64 ビット) Visual Studio 2010 .Net 4.0

4

3 に答える 3

0

MJ - 私は同じ問題を抱えており、最終的に答えを見つけました: この問題は、.NET 4.0 をターゲットにしている場合にのみ、Apple QuickTime Control 2.0 ActiveX COM オブジェクトをツールボックスから WinForm に移動しようとすると、VS2010 で発生します。 . .NET 3.5 以前に戻せば問題なく動作します。この問題を解決するには、Apple Quicktime Control 2.0 オブジェクトを WinForm に移動する前に、AxInterop.QTOControlLib.dll をプロジェクトの ../obj/x86/Debug または /Release フォルダーに手動でコピーします。Microsoft KB Article ID: 2066987 (Visual Studio Hotfix Patch) があります。ビルド メニューから appname の再構築を行うと、同じエラーが表示されます。その場合は、AxInterop.QTOControlLib.dll を .. /obj/x86/Debug /Release ディレクトリを開き、通常のビルド (Shift+F6) を実行します。Rebuild/Clean が AxInterop.QTOControlLib.dll を ../obj/x86/Debug /Release ディレクトリから削除すると、この問題が発生します。やはり KB2066987 修正プログラムは、この正確な問題に対処しているようです。この修正プログラムについては、Microsoft サポートに問い合わせる必要があります。KB2066987 修正プログラムについて Microsoft サポートにリクエストしましたが、今日受け取る予定です。

于 2013-02-07T00:34:54.737 に答える
0

Visual Studio 2010 の Apple Quicktime Control 2.0 を WinForm にインストールするソリューション

A. 許可されている場合は、プロジェクトのプロパティをターゲット .NET Framework 3.5 に設定します。

B. .NET 4.0 をターゲットにする必要がある場合は、次の 2 つの選択肢があります。

  1. Apple Quicktime Control 2.0 オブジェクトを WinForm に移動する前に、AxInterop.QTOControlLib.dll をプロジェクト ../obj/x86/Debug または /Release フォルダーに手動でコピーできます。詳細については、上記の私の回答を参照してください。

  2. Microsoft から修正プログラムを入手できます。KB 記事番号 206697 を参照してください。ホットフィックスを受け取ってインストールしましたが、問題は解決しました。このホットフィックスは MS サポートにリクエストする必要があることに注意してください。

ニール

于 2013-02-11T22:44:08.083 に答える
0

AxImp によって作成された DLL は、RegAsm に登録する必要はありません。QTOControlLib.dll は COM オブジェクトを一切公開せず、.Net から QuickTime com オブジェクトを使用するために必要なラッパーを含むだけです。AxImp によって生成された DLL をソリューション ディレクトリにコピーし、Visual Studio でそれらへの参照を追加するだけです。

于 2013-01-21T16:46:46.367 に答える