0

SSIS パッケージで参照している DLL があります。厳密な名前を付けて、GAC に追加しました。私の開発マシンではすべてうまくいきました。今、パッケージを展開しようとしています。そのため、サーバーでは、これを行うために作成した Windows インストーラー パッケージを使用して、DLL を GAC に追加しました。GAC の DLL のバージョンは 7.2.0.1 です。次に、サーバー上でパッケージの展開ユーティリティ インストーラーを実行しました。これは正常に実行され、.dtsx ファイルを含むパッケージが作成されました。サーバーのメモ帳で .dtsx ファイルを開き、DLL への参照を探すと、7.2.0.1 を参照していると表示されます。次に、実際にパッケージを実行するようにジョブをセットアップします。ジョブを開始すると、パッケージが実行されて失敗します。これにより、パッケージがバージョン 7.1.0.9 を探していたことを示すエラー メッセージがイベント ビューアに作成されます。

このバージョンのこの DLL のコピーをどこでも探しましたが、見つかりません。開発マシンとサーバーを検索しましたが、7.1.0.9 はありませんでした。この DLL にそのバージョンがあったかどうかはわかりません。すべての参照は 7.2.0.1 を指していますが、私が何をしても 7.1.0.9 が必要だと考えています。

ここで何が間違っているのか、誰か考えがありますか?

4

1 に答える 1

0

SSIS2005とSSIS2008R2でカスタムDLLを使用する場合、GAC.NET Framework 2.0ディレクトリの両方にDLLをインストールする必要があり、2つのバージョンが一致している必要があることがわかりました。IIRC、.NET Framework 2.0フォルダー内のバージョンは、パッケージ設計のためにBIDSによって使用され、パッケージ検証のためにdtexecによっても使用されました。GACのバージョンがパッケージの実行に使用されました。DLLの厳密な名前がスクリプトタスク/コンポーネントのバイナリ表現にコンパイルされていると私は信じています(しかし、証明しようとしたことはありません)。

そこで、開発ボックスとターゲットサーバーの両方で、そのバージョン7.1.0.9DLLのコピーが.NETFramework 2.0フォルダーのどこかに、またはPATH環境変数のどこかに隠れているかどうかを確認することから始めます。

(注:SSIS 2012が同じ動作をするかどうかはわかりません。したがって、これはあなたのケースに当てはまる場合と当てはまらない場合があります。)

于 2013-03-05T17:50:13.873 に答える