我们使用第三方工具,即我们拥有资源并将其包含在我们的项目中。
在项目文件中有标签“SignAssembly”和“AssemblyOriginatorKeyFile”。
由于我们使用此工具,它的内容如下:
<SignAssembly Condition="Exists('..\Original.snk')">true</SignAssembly>
<AssemblyOriginatorKeyFile Condition="Exists('..\Original.snk')">..\Original.snk</AssemblyOriginatorKeyFile>
文件Original.snk
从未存在过。
最近,我不得不更新源代码,我接手了从“Original.snk”到“New.snk”的更改。文件New.snk
也不存在。
但是,在更改之后,分发构建失败,因为程序集未签名。
CSC(0):装配生成失败 - 参考装配'[assembly]'没有强名称
我不明白为什么仅仅更改名称会导致错误。我认为我忽略了其他地方的一个重要变化,但我没有找到它。
有人知道我要找什么吗?是否有任何文件可能与程序集签名有关,也需要更新?
我彻底查看了可能相关的任何项目文件,但我没有发现任何可疑的内容。
注意,问题肯定可以通过链接到现有的.snk文件来解决,但我试图了解失败的原因。
请注意,我对此签名规则的理解肯定太少,但阅读有关基础知识的文章(如this one)并没有给我任何进一步的想法。