【发布时间】:2020-12-02 20:55:33
【问题描述】:
我有一个 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”。
我已经检查了项目属性,并且所有项目都设置为在调试模式下构建,它们都不应该被签名。在失败的项目中,它引用的唯一一个不在任何其他项目中的程序集是 Microsoft.VisualBasic(一个 .net 2.0 程序集)。所以我不知道是什么 id 导致了这个错误(上面错误消息中引用的文件 - “LC” - 不存在。
任何人都知道我可以如何强制项目接受所有未签名的程序集,或者确定哪个程序集是罪魁祸首?
这个工作的开发环境和当前的开发环境之间唯一有意义的区别是第一个是 XP 而这是 Vista64。但是,我的一位使用 XP 的同事遇到了同样的错误。
正在使用的第三方程序集:
- ComponentFactory.Krypton.Toolkit
- ComponentFactory.Krypton.Navigator
- VistaDB.NET20
所有这些都在解决方案中的其他项目中引用,这些项目构建没有问题,所以看起来这些不是问题。
到目前为止,我已尝试删除 suo 文件、全部重建、从解决方案中卸载和重新加载项目、删除和读取引用的程序集。没有任何效果。
【问题讨论】: