2011-11-14 20 views
0

私は私のアプリのために私自身のコンテキストメニューハンドラを開発するために、このコードを使用することを試みた:http://www.codeproject.com/KB/shell/ratingcolumn.aspxC#のContextMenuハンドラ

しかし何も起こりませんでした。それから私は、そのコードをコンパイルしたDLLを構築し、それを登録する

regasm pathToDLL /codebase 

を使用してちょうど試みたが、これは私が(試したリブート新しいファイル格付けメニューが表示されませんでしたが、返信

RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can ca 
use your assembly to interfere with other applications that may be installed on 
the same computer. The /codebase switch is intended to be used only with signed 
assemblies. Please give your assembly a strong name and re-register it. 
Types registered successfully 

として得たものですウィンドウ、リフレッシュする関連、メニュー、すべて)。何か不足していますか?私が必要とするようにDLLを登録しますか?

+2

記事の著者に直接お尋ねすると、より良い回答が得られるようです。 – Tigran

答えて

1

署名されていないアセンブリでRegAsmを使用すると、偽陰性(正しく登録されたタイプですが、タイプが正常に登録されていないことが報告されました)

はこの記事を参照してください: Regasm and Com Interop false negatives

私はあなたのための最初のステップは、あなたのアセンブリに署名し、あなたがそれを登録し、100%を確認するためにされるべきだと思います。 次に、COMオブジェクトとしてどのタイプを公開するか慎重に確認する必要があります。

これが役に立ちます。

+0

これを登録しようとしましたが、そのリンクから手順がありませんでした。それが登録された後にリフレッシュする必要があるものはありますか?とにかく、クライアントマシンで(コードを使用してUAC権限を持つアプリケーションから)行う方法はありますか? – n1tr0