У меня есть приложение VB.Net 1.1, которое отлично работает после компиляции в Visual Studio. Однако я хочу использовать ILMerge для объединения всех ссылочных ассемблеров в один исполняемый файл, чтобы упростить перемещение. После того, как я отправить его через ILMerge и попытаться запустить его, я получаю ошибкуНеверная проверка имени на VB.NET Assembly
«Сильная проверка имени не удалось за assembly.exe» .....
Но ни один из моих вещей не силен по имени! Я видел этот пост здесь: Strong Name Validation Failed и попытался запустить его через «Sn.exe -VR merged.exe», но это дает мне эту ошибку:
«merged.exe не представляет сильно названный узел»
Has кто-нибудь еще имел эту проблему раньше? Как это исправить?
UPDATE:
Я начинаю чувствовать себя как сильная проверка имени не является реальной проблемой здесь. Я строю против .NET v1.1 и запускаю на машине, где это единственная установленная версия .NET (бывает Windows 2003). Слитый исполняемый файл, похоже, умирает с этой ошибкой на каждой машине Windows 2003, которую я пытаюсь, но если я попытаюсь запустить ее на более современной ОС (Vista), она, по крайней мере, начнется, но это не очень хороший тест, поскольку среда не является подходит для реального теста.
- Я проверил, что мой app.config имеет правильные настройки (с указанием необходимости и поддерживаются версия среды выполнения v1.1.4322)
- Я использую вариант /targetplatform:v1.1 при выполнении моих сборок через ILMerge.
ILMerge определенно вызывает проблему (т. Е. Отлично работает, прежде чем слить), я просто не знаю, как это исправить.
Документируйте ссылки, которые вы используете. Нажмите значок «показать все файлы» в обозревателе решений и откройте узел «Ссылки». –
Все, на что я ссылаюсь, это сборка COM-взаимодействия и стандартные сборки системы. Я НЕ интернализую сборку Interop, только сборки, которые являются частью этого проекта (один исполняемый файл и DLL), ни одна из которых не подписана. Ни одна из ссылочных сборок не подписана (кроме сборников Core .NET, но опять же, я не интернализую их). –