あなたが間違っているかどうかを知ることができるかどうか、私は思っていました。COMのためのアセンブリを登録しましたが、デベロッパーコンピュータでしか動作しません
私はC#でビルドしたCOMのDLLアセンブリを持っていますが、SilverlightのブラウザからCOMオブジェクトを取得しようとしています。私はSiverlightアプリケーションをコンピュータ間で移動したいので、すべての必要なファイルをzipに入れて、アセンブリを登録する次のようなバッチインストーラを実行します:
cd%windir%\ Microsoft.NET \ Framework \ v4 .0.30319 \ RegAsm.exe "%USERPROFILE%\ My Documents \ Homework Clock \ windowsHook.dll"/tlb/nologo
私のアプリケーションはアセンブリを検出し、devのコンピュータでうまく動作しますが、アプリケーションを移動すると(dllと他の必要なファイルと一緒に)テスト用コンピュータに、私のバッチファイルは登録に成功したと言いますが、アプリケーションはそれを見つけられません。
しかし、テスト用コンピュータでC#を使用してアセンブリを再構築し、devコンピュータから移動したDLLをリビルド済みDLLに置き換えると、アプリケーションは問題なく動作します。私のアプリケーションを使用したい場合は、C#を使用してアセンブリを再構築する必要がない場合、私のクライアントにとっては便利なので、これを修正する方法があるかどうか疑問に思っていました。
私はこの問題を少し見て、私のアセンブリは強力なアセンブリではないと思っていました。私はC#が自動的にそうすると思いますので、バッチファイルでやってみました。アセンブリに強い名前を付けるために暗号キーを生成するために必要な 'al'と 'sn'コマンドを認識し、C#プロジェクトプロパティの '署名'タブでそれをやってみましたが、同じ問題が発生しました。任意のアイデアをどのようにこれを修正するには?
おかげさまで、前に私は明らかに私は適切なDLLを持っていなかったが、明らかにコードベースを試みたが、今は "すべてのタイプが正常に登録された"とそれは動作します!ありがとう:) – Austin