gpt4 book ai didi

.net - 应该签署互操作程序集吗?

转载 作者:行者123 更新时间:2023-12-04 06:51:31 24 4
gpt4 key购买 nike

我们有一组用 VC++ 开发的 COM 组件。将此类组件的引用添加到 .NET 项目时,Visual Studio 会生成互操作程序集。我们现在有一组这样的程序集。

在运行我们的日常构建时,我们使用数字签名对所有生成的二进制文件进行签名。互操作程序集未签名,因为我们不认为我们是作者 - 任何人都可以使用 Visual Studio 并生成相同的程序集。

我们也应该签署互操作程序集吗?我们还应该使用强名称(sn.exe 实用程序)对它们进行签名吗?这样做的原因是什么?

最佳答案

一段时间以来,这一直是一个棘手的平衡。问题来自这样一个事实,即您需要将 Interop 程序集与您的代码一起分发,并且您可能正在对自己的程序集进行签名。如果您对程序集进行签名,则它引用的所有程序集也必须进行签名 - 包括互操作程序集。所以你必须签署他们。

如果您正在分发一个独立的应用程序,那么就没有风险,您应该继续对程序集进行签名,以使您的生活更轻松。

如果您正在分发组件库,事情可能会有点棘手,因为使用您的库的其他开发人员可能会生成他们自己的互操作程序集,但使用他们自己的 key 对它们进行签名。这会导致各种命名和依赖问题。

根据 Interop 程序集的复杂程度,您可以将代理代码生成到单独的 .CS/.VB 文件中,然后将其直接编译到您的程序集中。这样您就不必担心强名称问题。

关于.net - 应该签署互操作程序集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com