C#代码在Visual Studio中常见的错误

  1. 非静态字段、方法或属性要求对象引用

解决方法:第一种将原有的方法改为静态的,加static
解决方法:第二种使用类的对象调用方法,如stu.show()//stu是类的对象

  1. 未将对象应用设置到对象的实例,一般是因为没有new
  2. 不可访问因为他具有一定的保护级别 ----------一般private或protect的不可访问,需要设置成public
  3. 并非所有代码都有返回值,这个最简单了,因为你忘写return
  4. Assembly generation failed – 引用的程序集 ‘xxxxxxxxxxx’ 没有强名称"

这是一个关于强签名的问题,你引用的程序集并没有强签名,你需要增加强签名,方法如下:
右键你的程序集(dll)类库项目,->属性 ->签名 -> 勾选为程序集签名,新建一个强名称密钥文件,输入名称和密码,即可,再次编译则成功

那么为什么使用强签名?
原因:

  • 通过签发具有强名称的程序集,可以保证名称的全局唯一性
  • 强名称依赖于唯一的密钥保证名称的唯一性,任何人不会生成与你自己的生成相同的程序集名称,因为用一个私钥生成的程序集的名称与用其它私钥生成的程序集的名称不相同
  • 强名称保护程序集的版本沿袭,强名称可以保证没有人能够生成与作者的程序集的后续版本,用户可以确信加载的程序集的版本出自创建该版本的同一个发行者
  • 强名称提供可靠的完整性检查,通过.net框架安全检查后,确保程序集的内容在生成后未被更改过。但请注意,强名称中或强名称本身并不暗含某一级别的信任,例如由数字签名和支持证书提供的信任。
  • 在引用具有强名称的程序集时,您应该能够从中受益,例如版本控制和命名保护。如果此具有强名称的程序集以后引用了具有简单名称的程序集(后者没有这些好 处),则您将失去使用具有强名称的程序集所带来的好处,并依旧会产生 DLL 冲突。因此,具有强名称的程序集只能引用其他具有强名称的程序集。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值