[C#] How to read DLL to array of bytes?

Hello,
How to read DLL file from hard disk and load it to my app into byte array? My dll file is in same folder what my application .exe. I don't want to use this dll in this app I wanna only read it into array of byte and send this array to another app.
Thx a lot

Regards
LVL 2
F0x88Asked:
Who is Participating?
 
HarryNSConnect With a Mentor Commented:
You can go for Reflection... You can read a dll using reflection
Assembly a = Assembly.Load("helloworld");

Pass this object to another app.
0
 
F0x88Author Commented:
hmm I don't know how to call later methods in another application if I good using it. I have server and client app. on server I have my class HelloWorld(this class can be in DLL what using server but its not that important), I just want to return this class to client app as assembly, on RemotableObject class I have only interface with method what returns this assembly class. Check my code... remote client have error during Assembly RemoteClass = objget.GetClass();
Could not load file or assembly 'HelloClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.

why? I can't send my class/dll to another app and use thier methods?
server app:
...
using HelloClass;
 
namespace RemoteServerApplication
{
    public class HelloServer : MarshalByRefObject, IExecute
    {
 
        public Assembly GetClass()
        {
            Assembly a = Assembly.Load("HelloClass");
            return a;
        }
 
    }
}
 
HelloClass in dll file(referenced only to server):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace HelloClass
{
    public class HelloWorld
    {
        public void TestMe()
        {
            Console.WriteLine("Test string what will be writen in client.");
        }
    }
}
 
remotable object with interface(referenced to client and server):
public interface IExecute
    {
        Assembly GetClass();
    }
 
 
client gets this assembly:
IExecute objget = (IExecute)Activator.GetObject(
                    typeof(IExecute), "tcp://localhost:8085/RemoteTestRef");
            if (objget == null)
                Console.WriteLine("Could not locate server");
            else
            {
           
                Assembly RemoteClass = objget.GetClass();
}

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.