使用時
- DLL の C# ストロングネームと
- InternalsVisibleTo タグを使用し、
- 公開鍵が SHA256 (または SHA512) を使用する場合
InternalsVisibleTo
タグがまったく宣言されていないかのように、コンパイル プロセスが失敗することに気付きました。私たちが得るエラーはMyInternalClass is inaccessible due to its protection level <snip>
公開鍵が sha1 を使用する場合 (上記のステップ #3)、コンパイル プロセスは問題なく完全に機能し、内部はテスト プロジェクトに適切に公開されます。ストロングネーム キーを作成する方法は次のとおりです。
sn -k 4096 SignKey.snk
sn -p SignKey.snk SignKeyPublic.snk sha256
sn -tp SignKeyPublic.snk
そして、プロジェクトの内部をテスト プロジェクトに公開する方法は次のとおりです。
[assembly: InternalsVisibleTo("MyProjectTest, PublicKey=LongPublicKeyHere")]
プロジェクトの中Properties\AssemblyInfo.cs
に貼り付けます。MyProject
質問: strongname プロセスで SHA256 以上を使用するにはどうすればよいですか?
編集:または、これは VS2012 ツールのバグですか?
プラットフォーム、ツール: VS2012 (Update 3)、.NET 4.5、Windows 8 x64