создать однофайловое приложение - PullRequest
2 голосов
/ 09 июня 2010

Я пытаюсь объединить два файла.Одним из них является приложение .net3.5 wpf, а другим - Значок уведомления WPF dll

Я использую следующую команду:

IlMerge /target:winexe /out:PS.exe "PlayerSearcher.exe" "Hardcodet.Wpf.TaskbarNotification.dll"

Но когда я запускаю результат в сборемое приложение падает с этой ошибкой

EventType: clr20r3 P1: ps.exe
P2: 1.0.0.0 P3: 4c0ee52f P4: презентация: 46 P9: system.io.ioexception

Почему?И как я могу создать однофайловое приложение?

1 Ответ

1 голос
/ 09 июня 2010

Просто предположение, но вам может потребоваться объединить дополнительные ссылки. Например, может быть, у вас также есть что-то elelse.dll, скопированное в папку bin проекта вместе с EXE, и вы забыли включить его?

Вам не нужно объединять сборки .NET Framework из GAC, если только нет проблемы с параметром «Копировать локально» True / false:

Теперь измененный вами проект будет автоматически все ссылки сборки объединены. Только сборки с пометкой «Копировать локально» будут объединены так системные сборки и GAC сборки не будут объединены по умолчанию.

- http://blogs.msdn.com/b/jomo_fisher/archive/2006/03/05/544144.aspx

Возможно, просто для его отладки попробуйте скопировать классы .NET Framework локально в ваш проект и объединить их, чтобы увидеть, работает ли это. Это может помочь начать изолировать ошибку.

...