我有一个VB.Net 1.1应用程序在Visual Studio中编译后工作正常。但是,我想使用ILMerge将所有引用的程序集合并到一个可执行文件中,以便更容易移动。在我通过ILMerge发送并尝试运行它后,我收到错误
“assembly.exe的强名称验证失败”.....
但我的东西都没有名字!我在这里看到这篇文章:Strong Name Validation Failed并尝试通过'sn.exe -Vr merged.exe'运行它,但这给了我这个错误:
“merged.exe不代表强名称程序集”
以前有其他人有这个问题吗?我该如何解决?
更新:
我开始觉得强名称验证不是真正的问题。我正在构建.NET v1.1并在一台机器上运行,这是唯一安装的.NET版本(恰好是Windows 2003)。合并的可执行文件似乎在我尝试的每台Windows 2003机器上都出现了这个错误,但是如果我尝试在更现代的操作系统(Vista)上运行它至少会启动它,但这不是一个很好的测试,因为环境不是适合真正的考验。
ILMerge肯定会导致问题(即在我合并之前它工作正常),我只是不知道如何修复它。
答案 0 :(得分:1)
我必须找到并下载一个非常旧版本的ILMerge(v1.1)才能使我的合并二进制文件正常工作;当前ILMerge应用程序构建.NET 1.1程序集的方式必定存在错误。值得庆幸的是,我们内部有一个,因为我可能从未在网上找到它。