在 Windows 8 消费者预览版上使用 Visual Studio 11 测试版。
问题是:如果尝试使用输出类型设置为 WinMD 的类库中的类,我会收到一个安全异常,指出“强名称验证”失败(来自 HRESULT 的异常:0x8013141A)。我只是想使用 Visual Studio 运行(F5)一个小型测试应用程序。
如果我将输出类型设置为“类库”,问题就会消失。可以在此处找到一个小型(且相当琐碎)的测试项目:
http://download.tallcomponents.com/WinRTApplication3.zip
我使用新生成的 .snk 文件(无密码)为类库设置了“签署程序集”标志。在生成的 ClassLibrary1.winmd 文件上运行 sn -vf 显示:
ClassLibrary1.winmd 是延迟签名或测试签名的程序集
所以也许问题基本上是输出没有“正确”签名?我只是不知道该怎么做才能解决这个问题,因为我已经指定了要签名的类库,我也不明白为什么只有在输出到 WinMD 文件时才会发生这种情况。我假设此时我不需要仅用于调试和测试的“官方”证书。
好吧,如果这是一个初学者问题,我很抱歉。我试图“谷歌”一个答案,但我主要得到了超过 2 年的点击率,谷歌建议“风”而不是 winmd……</p>
甚至不能在这里创建一个新标签“winmd”……(声望不够)