Я пытаюсь создать установочную CAB-версию приложения для мобильного устройства. Я могу запустить приложение через визуальную студию на эмуляторе, однако, когда я пытаюсь вручную установить кабину на эмуляторе и запустить программу, она сразу же появляется сообщение об ошибке «Неожиданная ошибка ...», нажимая на детали, которые она показывает мне имя программы, а затем «MissingMethodException» и это все, а не дополнительная информация о том, где искать.
У меня сейчас два проекта установки. Исходный проект установки, который всегда был настроен на явную ссылку на вывод «Debug Any CPU», который теперь встроен только в конфигурацию «Debug». Новый проект установки теперь явно ссылается на вывод «Relase Any CPU», который встроен только в конфигурацию Release.
Кажется, что это только проблема в сборке релиза, которая имеет отношение к делу. Я бы предпочел не выпускать отладочные версии кода в производственные среды.
После настройки приложения-загрузчика я получаю следующий вывод (имена пространств имен изменены на защищенные невинные)
Этот журнал фактически идентичен журналу отладки вплоть до восьми строк в нижней части этого журнала.
В журнале отладки после загрузки модуля System.Data.DataSetExtensions
загружается модуль System.Xml.Linq
, а затем после перенаправлений в конце журнала загружается множество дополнительных модулей, начиная с \Windows\GAC_System.SR_v3_5_0_0_cneutral_1.dll
и около 80 строк попыток загрузить ресурсы, после чего загружается модуль Forms.
Новая попытка
После попытки создать свою собственную инфу я все еще получаю исключение MissingMethodException, но более подробно. Он жалуется, что не может загрузить определенный тип из одной из моих сборок.
Поскольку я видел, как приложение работает в режиме выпуска, я решил попробовать скопировать развернутые сборки и использовать их для создания моей кабины, которая не работала. Затем я сравнил сборки с теми сборками, которые я первоначально использовал для создания своей кабины, и они идентичны.
Это заставило меня поверить, что если я попытаюсь вручную запустить развернутую сборку релиза с устройства вручную, я все равно получу исключение MissingMethodException, и, разумеется, так оно и есть. В этом случае я получаю undelailed MissingMethodException.
Чтобы повторить этот момент, я заметил, что когда я нажимаю «Начать отладку» в Visual Studio с выбранной конфигурацией выпуска, программа запускается как исключение, однако, если я прекращаю отладку и пытаюсь вручную запустить то, что развернуто на устройстве, которое я получаю пустое исключение MissingMethodException. Если я делаю то же самое для отладочной версии, то есть «Начать отладку» в Visual Studio, а затем прекращаю отладку и вручную запускаю приложение с устройства, приложение работает нормально.
Если у кого-нибудь есть какие-либо идеи относительно того, что это может быть, это будет высоко оценено. Я так растерялся.