2012-06-09 1 views
2

У меня есть библиотека классов, которая содержит пользовательский элемент управления WPF. Эта библиотека имеет некоторые зависимости, но я хочу развернуть ее как одну сборку. Как я знаю, у IlMerge есть некоторые проблемы с WPF. Я попробовал Costura, но он работает только для приложений, а не для библиотек классов (как я выяснил here). Есть ли способ достичь моей цели?Ссылки библиотеки классов .NET merge

ответ

4

Как один из авторов Costura, я могу теперь подтвердить, что он работает как для библиотек, так и для приложений.

Фактически все модульные тесты для Costura находятся в библиотеке, поэтому он определенно работает.

1

Отъезд this link. Как я где-то читал, даже автор ILMerge рассказывает, что если бы он знал это, ILMerge не существовал бы. Лично я использовал его в проекте WinForms, и он отлично работал, хотя это stated, что он правильно обрабатывает WPF.

+0

Как я знаю, что этот подход работает только с приложениями – SiberianGuy

0

Я знаю, что он уже ответил, но исправить загрузку сборок с использованием отражения вы можете прикрепить следующий код в случае AssemblyLoad

var assembly = Assembly.LoadFile(@"<path to your dll>"); 
var assemblyLoaderType = assembly.GetType("Costura.AssemblyLoader", false); 
var attachMethod = assemblyLoaderType?.GetMethod("Attach", BindingFlags.Static | BindingFlags.Public); 
attachMethod?.Invoke(null, new object[] { }); 

 Смежные вопросы

  • Нет связанных вопросов^_^