- 非静态字段、方法或属性要求对象引用
解决方法:第一种将原有的方法改为静态的,加static
解决方法:第二种使用类的对象调用方法,如stu.show()//stu是类的对象
- 未将对象应用设置到对象的实例,一般是因为没有new
- 不可访问因为他具有一定的保护级别 ----------一般private或protect的不可访问,需要设置成public
- 并非所有代码都有返回值,这个最简单了,因为你忘写return
- Assembly generation failed – 引用的程序集 ‘xxxxxxxxxxx’ 没有强名称"
这是一个关于强签名的问题,你引用的程序集并没有强签名,你需要增加强签名,方法如下:
右键你的程序集(dll)类库项目,->属性 ->签名 -> 勾选为程序集签名,新建一个强名称密钥文件,输入名称和密码,即可,再次编译则成功
那么为什么使用强签名?
原因:
- 通过签发具有强名称的程序集,可以保证名称的全局唯一性
- 强名称依赖于唯一的密钥保证名称的唯一性,任何人不会生成与你自己的生成相同的程序集名称,因为用一个私钥生成的程序集的名称与用其它私钥生成的程序集的名称不相同
- 强名称保护程序集的版本沿袭,强名称可以保证没有人能够生成与作者的程序集的后续版本,用户可以确信加载的程序集的版本出自创建该版本的同一个发行者
- 强名称提供可靠的完整性检查,通过.net框架安全检查后,确保程序集的内容在生成后未被更改过。但请注意,强名称中或强名称本身并不暗含某一级别的信任,例如由数字签名和支持证书提供的信任。
- 在引用具有强名称的程序集时,您应该能够从中受益,例如版本控制和命名保护。如果此具有强名称的程序集以后引用了具有简单名称的程序集(后者没有这些好 处),则您将失去使用具有强名称的程序集所带来的好处,并依旧会产生 DLL 冲突。因此,具有强名称的程序集只能引用其他具有强名称的程序集。
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2015anzhuangwenti/2020/0725/4644.html