Встраивание DLL в скомпилированный исполняемый файл

Просто щелкните свой проект .net-framework правой кнопкой мыши в Visual c#-language Studio, выберите «Свойства dll-hell проекта» -> «Ресурсы» -> «Добавить c#.net ресурс» -> «Добавить существующий merge файл…» И включите приведенный dynamic-link-library ниже код в свой App.xaml.cs dynamic-link-library или аналогичный.

public App()
{
    AppDomain.CurrentDomain.AssemblyResolve +=new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}

System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
    string dllName = args.Name.Contains(',') ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll","");

    dllName = dllName.Replace(".", "_");

    if (dllName.EndsWith("_resources")) return null;

    System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());

    byte[] bytes = (byte[])rm.GetObject(dllName);

    return System.Reflection.Assembly.Load(bytes);
}

Вот моя исходная linking запись в блоге: http://codeblog.larsholm.net/2011/06/embed-dlls-easily-in-a-net-assembly/

c#

.net

dll

merge

linker

2022-11-13T20:52:08+00:00
Вопросы с похожей тематикой, как у вопроса:

Встраивание DLL в скомпилированный исполняемый файл