パイプライン内の (読み取り/書き込み) 文字列からすべての先頭および末尾のスペースを削除する非常に単純なコンポーネントがあります。私が見る限り、開発マシンにはこの dll のバイナリが 1 つしかありません。別の開発マシンに転送して GAC に登録していますが、2 台目のマシンにコピーしたパッケージを開くと、次の警告が表示されます。
エラー 1 検証エラー。データ フロー タスク: DTS.Pipeline: "コンポーネント "TrimColumnsComponent" (1909)" のコンポーネント メタデータを新しいバージョンのコンポーネントにアップグレードできませんでした。PerformUpgrade メソッドが失敗しました。LD_CXSUM.dtsx 0 0
ツールボックスにコンポーネントがあり、別のコンポーネントをデータフロー キャンバスにドラッグできますが、問題はないようです。
これは、両方のマシン上の SQL Server 2005 と Visual Studio 2005 です。
2 番目のマシンでは、パッケージを最初から作成でき、コンポーネントをビルドしたマシンに読み込まれます (ただし、アイコンは、2 番目のマシンと同じ標準のユーザー コンポーネント アイコンです)。ビルド マシンで最初からパッケージを作成すると、正しいアイコンが表示されますが、非ビルド マシンではアップグレード メッセージが表示されます。ファイルは components ディレクトリで同一であり、同じコンポーネント クラス ID を持ち、GAC に登録されています。
XML を調べて手動で dtsx ファイルを確認しましたが、ビルド マシンと非ビルド マシンで作成されたパッケージでは、クラス ID と公開キーがマシン間で同一です。
何が原因でしょうか?