管理程序集签名和清单签名

强名称签名软件组件提供一个全局唯一标识。强名称用于保护程序集不能由他人无法并确保组件依赖项和配置语句映射到正确的组件和组件版本。

强名称是由程序集的标识(简单文本名称、版本号和区域性信息)加上公钥标记和数字签名组成的。

有关在 Visual Basic 和 C# 项目中的程序集进行签名的信息,请参见 创建和使用具有强名称的程序集

有关对 Visual C++ 项目中的程序集进行签名的信息,请参见强名称程序集(程序集签名)(C++/CLI)

资产类型和签名

您可以使用 .NET 程序集,并且应用程序清单。这些要求包括:

  • 可执行文件 (.exe)

  • 应用程序清单 (.exe.manifest)

  • 部署清单 (.application)

  • 共享组件程序集 (.dll)

您必须使用名为的以下类型:

  1. 程序集,因此,如果要部署到全局程序集缓存 (GAC)。

  2. ClickOnce 应用程序和部署清单。默认情况下 Visual Studio 启用签名这些应用程序的。

  3. 用于 COM 互操作性的主互操作程序集。当从 COM 类型库创建主互操作程序集时,TLBIMP 实用工具强制进行强命名。

通常不应对可执行文件。强名称组件不能引用与应用程序一起部署的非强名称组件。Visual Studio 不对应用程序可执行文件,是,为应用程序清单签名,指向弱命名的可执行文件。通常应避免签名是私有应用程序的元素,因为签名会使依赖项更加难以管理。

如何使用一个程序集在 Visual Studio

您对应用程序或组件通过使用项目属性窗口的 签名 选项 (右击" 解决方案资源管理器 并选择的 属性的项目节点或键入在 快速启动 窗口中的项属性,或者按 ALT+ 输入在 解决方案资源管理器 窗口中)。选择 签名 选项卡,然后选择 为程序集签名 选定框。

指定密钥文件。如果选择创建新密钥文件,请注意新密钥文件在 .pfx 格式始终是创建。您需要的名称和密码新文件的。

警告说明警告

应始终使用密码来保护密钥文件,以防止他人使用该文件。通过使用提供程序或证书存储区,还可以保护您的项。

还可以指向已创建的密钥。有关以下内容的详细信息创建的密钥,请参见 如何:创建公钥/私钥对

如果您能够访问仅对公钥,可以使用延迟签名延迟指定键。启用延迟签名。通过选择这些 仅延迟签名 选定框。一个延迟签名的项目不会运行,因此,您不能对其进行调试。但是,通过使用 -Vr 选项,的 Sn.exe(强名称工具) " 可以跳过验证在开发过程。

有关清单签名的信息,请参见 如何:对应用程序和部署清单进行签名

请参见

概念

具有强名称的程序集

强名称程序集(程序集签名)(C++/CLI)