我想在我的 WPF 项目中包含一个系统托盘图标,并找到了此资源:
http://www.hardcodet.net/projects/wpf-notifyicon http://www.hardcodet.net/projects/wpf-notifyicon
看起来它工作得很好,但它是为 C# 编写的,而我在这个项目中使用 VB.net。我下载了他的项目并将通知图标构建为 DLL,然后添加为我的项目的引用。
它会抛出一个错误:
无法发出程序集:引用的程序集“Hardcodet.Wpf.TaskbarNotification”没有强名称
所以我正在努力找出最好的方法来继续。我是否需要对其进行强命名,或者是否有更好的方法来做到这一点?
这是一个安全限制。简而言之,如果您对程序集进行强命名,您就向程序集的使用者提供了保证,即只有您的程序集及其依赖项才会在运行时加载。恶意方将无法用冒名顶替者替换您的程序集(当然,除非他们拥有您的密钥)。
如果您的强命名程序集引用了弱命名程序集,则无法满足该保证,因为它的依赖项可能会被冒名顶替者所取代。这就是您收到编译错误的原因。
您的选择是:
- 从程序集中删除强名称。
- 在编译时对第三方代码进行强命名。这对于您的情况来说很容易,因为您是从源代码构建的。
- 使用强名称第三方二进制文件。如果您不是从源代码构建并且第三方忽略签署其程序集,那么这是一个有吸引力的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)