1

もう 1 年、ほくろについての別の質問です。単体テストに使用するテスト プロジェクトに組み込みたい内部シール クラスを含むアセンブリがあります。

Molesのドキュメントによると、追加する必要があります

[assembly: InternalsVisibleTo( "MyAssembly.Moles" )]

属性を追加して、テスト プロジェクトから内部クラスにアクセスできるようにします。ただし、「MyAssembly」は強力に署名されているため、残念ながらこれは機能しません。

したがって、ドキュメントに従って、公開鍵を上記の行に追加した結果、

[assembly: InternalsVisibleTo( "MyAssembly.Moles, PublicKey=0123456..." )]

残念ながら、「MyAssembly」をコンパイルすると、次のエラーが発生します。

アセンブリ参照 'MyMoles.Moles, PublicKey=0123456...' は無効であり、解決できません

ドキュメントには、「... Moles フレームワークは常に同じキーを使用してアセンブリに署名する...」と書かれていますが、コンパイラが言うように、これは機能しません。また、生成されたファイル「MyAssembly.Moles.dll」をReflectorでチェックして、正しい公開鍵を使用していることを確認しました(私はそうしています)。

何か案は?

4

1 に答える 1

3

公開鍵トークンはなく、公開鍵を入力していることを確認してください。

それでも問題が解決しない場合は、secutilを使用して公開鍵を取得します。詳細な出力には、正しいキー値が含まれます。使用する必要のある構文は次のとおりです。

C:\> secutil -hex -s MyAssemblyName.dll
于 2012-01-05T17:40:14.720 に答える