强签名程序集 [英] Strong Signed Assemblies

查看:29
本文介绍了强签名程序集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a project I made in Visual Basic 2008 Express. I converted it from someone else's C# project, but it works. It has several DLL dependencies. I went to publish my project so I can install it on another machine and for each DLL, I get an error: "Assembly must be strong signed in order to be marked as a prerequisite." I've done some research, but am not finding a lot and what I have found I don't really understand. What does this error mean? What is the best way to resolve it? One other thing: it took me a LONG time to be able to get all my dll's to reference correctly, so I prefer that the solution has NOTHING to do with moving DLL's around because that will likely break the functionality in my main project.

推荐答案

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

If you're publishing via ClickOnce, go to the publish page and click on "Application Files". From there you should see a list of your DLL's. Ensure that the ones that are giving you trouble have their Publish Status marked as "Include" rather than "Prerequisite".

此错误消息的意思是,当前的发布设置将期望所有有问题的程序集都存在于目标计算机上的全局程序集缓存中,然后才能进行安装.由于 GAC 中的所有程序集都必须是强签名的,因此任何标记为未强签名的先决条件的程序集都会出现此错误.

What this error message means is that the current publishing settings are going to expect all of the assemblies in question to be present in the Global Assembly Cache on the target machine before installation can take place. Since all assemblies in the GAC must be strong signed, any assembly marked as a prerequisite that isn't strong signed will give you this error.

这篇关于强签名程序集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆