2

私のアプリケーション (C#、.NET 4.0、VS2010) は、COM dll (Adobe InDesign CS6 タイプ ライブラリ) を参照します。アプリケーションをビルドすると、「interop.indesign.dll」が tlibimp によって生成され、obj\x86\release に表示されます。ただし、bin\x86\release には表示されません。

参照用に使用できるオプションは 2 つだけです。Embed Interop-types は true に設定され (false の場合はエラーになります)、Isolated は false に設定されます。

ここで問題です。このアプリケーションは、以前は InDesign CS4 Type Library を使用していました。お客様のご要望により、CS6 にバージョンアップしました。InDesign CS4 および CS6 が PC にインストールされている場合、アプリケーションは動作します。CS6のみのインストールでは動作しません。これはまだ CS4 への参照があるようですが、私は 100% 確信しています。すべて削除しました。すべての参照は CS6 タイプ ライブラリを指しており、.csproj ファイルをチェックしても不要なものは表示されませんでした。

プロジェクト フォルダ全体を最初から再構築する以外に、これを修正する方法はありますか? どんな助けでも大歓迎です。

4

1 に答える 1

2

さらに調査した結果、問題の解決策が見つかりました。InDesign CS6 タイプ ライブラリが正しく登録されていませんでした。InDesign インストーラー (または InDesign 自体) に問題があると思います。

この問題を解決するには、コマンド ラインから次のコマンドを実行します。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe "C:\ProgramData\Adobe\InDesign\Version 8.0\de_DE\Scripting Support\8.0\Resources for Visual Basic.tlb"

その後、タイプ ライブラリが正しく登録され、アプリケーションが期待どおりに動作しました。

于 2013-02-06T09:23:08.513 に答える