gpt4 book ai didi

c# - 错误: A strongly-named assembly is required

转载 作者:行者123 更新时间:2023-12-03 07:23:54 24 4
gpt4 key购买 nike

我有一个 Windows 窗体项目(VS 2005、.net 2.0)。该解决方案引用了 9 个项目。在我的一台计算机上一切正常并编译良好。当我将其移至第二台计算机时,9 个项目中有 8 个编译没有问题。当我尝试编译第 9 个项目(应用程序的主项目 - 生成 .exe 文件来执行应用程序)时,出现以下错误:

'Error 3: A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)'

错误的文件位置列为“C:\PATH-TO-APP\LC”。

我已经检查了项目属性,所有项目都设置为在 Debug模式下构建,其中没有一个应该被签名。在失败的项目中,它引用的唯一不在任何其他项目中的程序集是 Microsoft.VisualBasic(.net 2.0 程序集)。因此,我无法找到导致此错误的 ID(上面错误消息中引用的文件 - “LC” - 不存在。

有人知道如何强制项目接受所有未签名的程序集,或者确定哪个程序集是罪魁祸首?

开发环境与当前开发环境之间唯一有意义的区别是,第一个是 XP,这是 Vista64。然而,我的一位使用 XP 的同事也遇到了同样的错误。

正在使用的第三方程序集:

  • ComponentFactory.Krypton.Toolkit
  • ComponentFactory.Krypton.Navigator
  • VistaDB.NET20

所有这些都在解决方案中的其他项目中引用,这些项目构建没有问题,因此看起来这些不是问题。

到目前为止,我已尝试删除 suo 文件、重建全部、从解决方案中卸载和重新加载项目、删除并读取引用的程序集。没有任何效果。

最佳答案

错误的含义

“强名称:表示引用已使用 key 对进行签名。”

如果当前项目的程序集已签名,则所有引用程序集也必须也已签名。 如果不这样做将导致此错误。

<小时/>

如何检查

解决方案资源管理器 > 引用 > [单击相关引用] > 属性

Strong Name = TRUE

如果强名称true表示已签名,否则引用未签名并导致错误.

<小时/>

如何修复

方法 1:取消当前项目程序集的签名。

项目属性 > 签名 > 对程序集进行签名(复选框)

enter image description here

方法 2:对引用项目的程序集进行签名。 (仅当您自己构建时才可能)

Located in Project properties

关于c# - 错误: A strongly-named assembly is required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/290980/

24 4 0