Как внести небольшие изменения в код для загрузки dll из ресурсов?

Как загрузить dll из ресурсов так же, как я загружаю иконку в примере кода выше? Я пытался использовать следующий код, но он не работает:

```csharp
Assembly asm = Assembly.Load(Assembly.GetExecutingAssembly().GetManifestResourceStream("name_dll"));
```
  • 19 ноября 2023 г. 6:10
Ответы на вопрос 1
Для загрузки DLL из ресурсов вам необходимо выполнить несколько шагов:

1. Убедитесь, что DLL-файл добавлен в ресурсы проекта. Для этого щелкните правой кнопкой мыши на проекте в обозревателе решений, выберите "Свойства" и перейдите на вкладку "Ресурсы". Если DLL-файл отсутствует, добавьте его, нажав на кнопку "Добавить существующий файл" и выбрав DLL-файл.

2. Задайте свойство ресурса DLL-файла как "Внедренный ресурс". Щелкните правой кнопкой мыши на DLL-файле в ресурсах проекта, выберите "Свойства ресурса" и установите значение "Внедренный ресурс" в выпадающем списке "Тип внедрения".

3. Используйте следующий код для загрузки DLL-файла из ресурсов:

```csharp
using System;
using System.IO;
using System.Reflection;

public class Program
{
    public static void Main()
    {
        Assembly assembly = Assembly.GetExecutingAssembly();
        string resourceName = "Namespace.ResourceName.dll";

        using (Stream stream = assembly.GetManifestResourceStream(resourceName))
        {
            byte[] buffer = new byte[stream.Length];
            stream.Read(buffer, 0, buffer.Length);

            Assembly dllAssembly = Assembly.Load(buffer);
            // Дальнейшая работа с загруженной DLL-библиотекой
        }
    }
}
```

В коде выше необходимо заменить `Namespace` на пространство имен вашего проекта и `ResourceName.dll` на имя файла ресурса DLL с расширением.
Похожие вопросы