Серьезная проблема с ILMerge и.NET 4.0

Ни за что в жизни я, может казаться, не получаю свою.NET 4 приложения, объединяющиеся правильно с ILMerge. Даже после установки/targetplatform, / lib,/ndebug и добавление пользовательского файла ILMerge.exe.config выходной файл не работает правильно (это, кажется, не может "найти" объединенные библиотеки).

Я попробовал это и это напрасно. Я не могу даже заставить это создавать, если я не использую файл конфигурации, но когда я делаю это не работает. Без файла конфигурации я последовательно получаю сообщение об ошибке "Неразрешенная ссылка на сборку, не позволенная: PresentationFramework".

Вот текущее состояние моей команды ILMerge, используемой в качестве события сборки сообщения:

ilmerge.exe /out:C:\Users\Logan\Development\Projects\OrangeNote\OrangeNote\bin\Release\OrangeNote.exe 
  /ndebug /targetplatform:v4,C:\Windows\Microsoft.NET\Framework\v4.0.30319 
  /lib:"C:\Windows\Microsoft.NET\Framework\v4.0.30319" 
  /lib:"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies" 
  "C:\Users\Logan\Development\Projects\OrangeNote\OrangeNote\obj\Release\OrangeNote.exe" 
  "C:\Users\Logan\Development\Projects\OrangeNote\OrangeNote\..\..\..\Libraries\Lucene.Net\src\Lucene.Net\bin\Release\Lucene.Net.dll" 
  "C:\Users\Logan\Development\Projects\OrangeNote\OrangeNote\..\..\..\Libraries\Ookii.Dialogs\src\Ookii.Dialogs.Wpf\bin\Release\Ookii.Dialogs.Wpf.dll" 
  "C:\Users\Logan\Development\Projects\OrangeNote\OrangeNote\..\..\..\Libraries\SharpZipLib\bin\ICSharpCode.SharpZipLib.dll" 
  "C:\Users\Logan\Documents\Visual Studio 2010\Projects\HumanInterfaceProject\HumanInterfaceProject\bin\Release\HipLib.dll"

Какие-либо мысли о том, что я делаю неправильно??

10
задан devios1 30 July 2010 в 21:51
поделиться

2 ответа

Я заметил, что одна из ваших сборок называется "dialogs.wpf". В настоящее время ILMerge некорректно объединяет сборки с ресурсами WPF в них.

Об этом не так много информации, но в этом сообщении форума упоминается возможное решение, и есть несколько возможностей, упомянутых в ответах на этот вопрос, но самым популярным предложением является покупка коммерческой альтернативы - я не знаю, возможно ли это для вас.

Есть обсуждение здесь, которое объясняет, почему это не работает, и есть предложение здесь, что изменение ссылки на ресурс в xaml может помочь решить проблему.

3
ответ дан 3 December 2019 в 14:43
поделиться

Я написал Майку Барнетту, автору ILMerge, и он объяснил, что, к сожалению, он вообще не предназначен для работы с приложениями WPF, и был удивлен, когда сказал ему, что он работает с моим WPF. 3.5 приложение. Поскольку он на самом деле не поддерживается, я просто спишу это сейчас и подожду, пока не появится другая альтернатива.

Кстати, я попробовал .NET Reactor из Eziriz , и он действительно работал отлично, но стоит 180 долларов, которые на хобби-проект я пока не собираюсь тратить. Но это намного дешевле, чем другая коммерческая альтернатива от Red Gate, поэтому подумал, что упомянул бы об этом.

Обновление: Майк Барнетт теперь считает принятый ответ на этот вопрос лучшим решением. По его словам, если бы он знал, что это возможно, он никогда бы не написал ILMerge.

7
ответ дан 3 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: