强签名集会

Jas*_*ers 27 vb.net compiler-construction publishing

我有一个在Visual Basic 2008 Express中创建的项目.我把它从其他人的C#项目转换而来,但它确实有效.它有几个DLL依赖项.我去发布我的项目,所以我可以将它安装在另一台机器上,对于每个DLL,我收到一个错误:"必须强化签名才能被标记为先决条件." 我已经做了一些研究,但是我找不到很多,而且我发现了什么,我真的不明白.这个错误是什么意思?解决它的最佳方法是什么?另一件事:我花了很长时间才能正确引用我的所有dll,所以我更喜欢解决方案与移动DLL无关,因为这可能会破坏我的主项目中的功能.

Ada*_*son 50

如果您通过ClickOnce发布,请转到发布页面并单击"应用程序文件".从那里你应该看到你的DLL的列表.确保那些给您带来麻烦的发布状态标记为"包含"而不是"先决条件".

此错误消息的含义是,当前发布设置将要求所有有问题的程序集在安装之前存在于目标计算机上的全局程序集缓存中.由于GAC中的所有程序集都必须是强签名的,因此标记为未签名的先决条件的任何程序集都将为您提供此错误.

  • 用外行人的术语解决我类似问题的+1. (2认同)

小智 6

解决方法比这更简单:

  1. 转到您的项目.
  2. 右键单击并选择"属性".
  3. 转到"安全"选项卡.
  4. 取消选中启用ClickOnce安全设置.

除非您通过ClickOnce部署此应用程序,否则您不需要对程序集进行StrongName.