2

我想让 Visual Studio 签署我的程序集。

我已经过了可以指定我的 PFX 文件而没有任何抱怨的地步。这并不容易,因为我有两个错误。是的,我必须确保我使用了 openssl(stackoverflow 文章帮助解决了该错误)和 microsoft 文章帮助解决了第一条错误消息,我必须在其中导入 PFX 文件,清除/设置选项,然后重新导出为不包括下游证书。

当我去构建一个项目时,我收到警告:

选项 'keycontainer' 覆盖源文件或添加的模块中给出的属性 'System.Reflection.AssemblyKeyNameAttribute'

自然地,我的集会没有得到签名。

我做了一些研究,我看到的最好的建议是在项目文件中添加一行(没有帮助)或使用我现在正在做的构建后事件手动签名,但我仍然想获得签名工具工作。

如果绝大多数开发人员无法使用该功能,我无法想象微软会提供 Singing 选项卡。

哎呀,随着新的 Visual Studio 2012 Update 1 版本的发布,我原以为签署程序集(DLL 或 EXE)将是小菜一碟。任务不过如此。

想法?

4

1 回答 1

4

如果没有更多信息,我无法判断这是否会解决您的问题。但我会发布对我有用的答案。就我而言,我已经转换了一个旧项目(VS 2012 之前),该项目在 AssemblyInfo.cs 文件中指定了签名,如下所示......

[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]

正如您所描述的,我通常使用项目/属性中的“签名”选项卡。警告消息本质上是在说“嘿,你已经在源代码中告诉我一些不同的东西!”

我的解决方案是删除 AssemblyInfo.cs 文件中的上述三行。我意识到这可能是在您的原始帖子之后的方式,但我希望有人觉得它有用。

于 2013-04-05T19:17:14.520 回答