首页 / C# / c# – 从程序集中删除强签名
c# – 从程序集中删除强签名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 从程序集中删除强签名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1402字,纯文字阅读大概需要3分钟。
内容图文
我在构建一些项目时遇到了麻烦.
请考虑这种情况:
>我有2个项目.例如A和B.
>从A到B有一个参考
> B的项目是强烈签署的(我不希望它出于某些原因签名.所以我决定删除它的“签署程序集”的复选框)
>有一行代码
A项目中的AssemblyInfo.cs文件说:
[assembly: InternalsVisibleTo("B,publicKey=0024......")]
我改成了:
[assembly:InternalsVisibleTo(“B”)]
现在,当我编译其中之一
这些项目出现了错误并说:
Friend assembly reference ‘B’ is invalid. Strong-name signed assemblies must specify a public key in their InternalsVisibleTo declarations.
我的问题在这里:编译器如何知道它有一天是签名的程序集?以及如何从B的装配中完全删除强烈签名并最终正确构建它们?
编辑:
顺便说说
请注意,两个主题都没有强烈签名!因为我从那些项目的属性中删除了那些“签署程序集”复选框
当我将程序集的名称更改为某些错误的名称,如“bla_bla_bla”甚至不存在时,错误是一样的!
[assembly:InternalsVisibleTo(“bla_bla_bla”)]
我认为这个理论是正确的:
实际上B Project没有编译,如果找不到匹配的编译项目名称(构建项目A时),编译器猜测B项目是用开发人员没有提供的公钥强烈签名的!最后它会提示这种奇怪的错误!
由于B的原因引用了A,当我编译B项目时,它将首先编译它的引用(A项目)并且再次编译器会提示我该错误(与我编写项目A时相同)
但要么它不是真的,要么我的项目A有些问题.因为我从头开始两个新的简单项目,每一件事情都没有错误(即使我将[assembly:…]语句更改为无效集会名称)我完全崩溃了
解决方法:
我有同样的问题,并删除以下行为我修复它:
[assembly: AssemblyDelaySign(false)]
[assembly:
AssemblyKeyName(“”)]
内容总结
以上是互联网集市为您收集整理的c# – 从程序集中删除强签名全部内容,希望文章能够帮你解决c# – 从程序集中删除强签名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。