首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WINMD库会导致强名称验证异常

使用WINMD库会导致强名称验证异常
EN

Stack Overflow用户
提问于 2012-05-14 18:32:58
回答 1查看 681关注 0票数 0

在Windows 8消费者预览版上使用Visual Studio 11测试版。

问题是:如果尝试使用输出类型设置为WinMD的类库中的类,我会得到一个安全异常,指出“强名称验证”失败(来自HRESULT0x8013141A的异常)。我只是想用Visual Studio运行(F5)一个小的测试应用程序。

如果我将输出类型设置为"Class Library“,这个问题就会消失。可以在这里找到一个小的(并且相当琐碎的)测试项目:

http://download.tallcomponents.com/WinRTApplication3.zip

我已经使用一个新生成的.snk文件(没有密码)为类库设置了"Sign the Assembly“标志。在生成的ClassLibrary1.winmd文件上运行sn -vf会显示:

ClassLibrary1.winmd是延迟签名或测试签名的程序集

因此,也许问题基本上是输出没有“正确”签名?我只是不知道如何解决这个问题,因为我已经指定了要签名的类库,我也不明白为什么只有在输出到WinMD文件时才会发生这种情况。在这一点上,我假设我不需要“官方”证书来进行调试和测试。

好吧,如果这是一个初学者的问题,我很抱歉。我试着用" google“搜索答案,但我得到的结果主要是两年前的结果,谷歌建议用"wind”而不是“winmd…”。

甚至无法在…中创建新标记"winmd“(没有足够的声誉)

EN

回答 1

Stack Overflow用户

发布于 2012-05-15 13:00:21

如果在winmd文件上遇到强名称验证错误,通常是因为您使用的工具集不理解.winmd文件格式。

不能对.winmd文件进行强名称签名。

在这种情况下,问题可能是因为您试图对组件库进行强名称签名- C#组件库会生成包含Windows元数据和C# IL的混合.winmd文件。

为什么要尝试对组件进行强名称签名?强名称签名通常用于将程序集放入GAC中,并且无法将.winmd文件插入到GAC中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10581658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档