Tôi muốn tải một tệp dll (Test.dll) làm một bộ phận lắp ráp. Tôi có thể làm điều này bằng cách sử dụng cả hai tham chiếu trực tiếp Visual Studio (ví dụ: tải dll như là một tham chiếu đến ứng dụng C# của tôi) cũng như tải dll bằng cách sử dụng phương pháp Assembly.LoadFile(filename)
. Bây giờ, tôi muốn thêm tệp dll của tôi dưới dạng tài nguyên được nhúng được nhúng vào vào ứng dụng Visual Studio của tôi và tải tệp dll dưới dạng hội đồng. Tôi biết làm thế nào để tải tài nguyên này như là một mảng byte, là có một số tương quan giữa mảng byte và lắp ráp mà tôi có thể sử dụng? Hơn nữa, tôi cần để có thể gọi một phương pháp nằm trong tập tin dll. Xem mã bên dưới - nó sẽ giải thích thêm về những gì tôi đang làm.Tải một bộ phận từ một tài nguyên được nhúng
Assembly SampleAssembly = Assembly.LoadFrom("WindowsFormsApplication2.ThisisaTESTDLL.dll");
Type myType = SampleAssembly.GetTypes()[0];
MethodInfo Method = myType.GetMethod("myVoid");
object myInstance = Activator.CreateInstance(myType,null);
Method.Invoke(myInstance,new object[] { "param1", "param1"});
Nếu tôi thiếu gì ở đây, vui lòng trân trọng thông báo cho tôi và tôi sẽ chỉnh sửa bài đăng gốc.
Tôi tin rằng tôi đã nêu trong câu hỏi, tôi đã có thể đọc trong một mảng byte, là có một số cách để đọc lắp ráp từ mảng byte này mặc dù? –
Có. Sử dụng Assembly.Load (...) –
đây là nơi mà tôi nghe có vẻ ngu ngốc .... Tôi đọc tài liệu cho Assembly.Load và một trong những "quá tải" nói "byte []". Tại sao, sau đó, khi tôi gõ "Assembly.Load" VS nói "chuỗi" là tham số? Có cách nào để chỉ định không? –