Chciałbym załadować plik DLL (Test.dll) jako zespół. Mogę to zrobić za pomocą zarówno bezpośrednich odwołań Visual Studio (tj. Ładowanie biblioteki dll jako odniesienia do mojej aplikacji C#), jak i ładowanie biblioteki dll przy użyciu metody Assembly.LoadFile(filename)
. Teraz chciałbym dodać mój plik dll jako osadzonego zasobu do mojej aplikacji Visual Studio i załadować plik dll jako zespół. Wiem, jak załadować ten zasób jako tablicy bajtowej, czy istnieje pewna korelacja między tablicy bajtów i zespołu, który mógłbym użyć? Ponadto, muszę mieć możliwość wywoływania metody znajdującej się w pliku DLL. Zobacz poniższy kod - wyjaśni to, co robię.Załaduj zespół z osadzonego zasobu
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"});
Jeśli brakuje mi tu niczego, proszę dać mi znać, szacunkiem i będę edytować oryginalny post.
Wierzę, że oświadczyłem w pytaniu, że jestem już w stanie czytać w tablicy bajtowej, czy jest jakiś sposób na odczytanie złożenia z tej tablicy bajtów? –
Tak. Użyj Assembly.Load (...) –
to tutaj brzmię nieświadomie .... Czytam dokumentację dla Assembly.Load i jeden z "przeciążenia" mówi "bajt []". Dlaczego więc podczas wpisywania "Assembly.Load" VS mówi "ciąg" jako parametr? Czy jest jakiś sposób określenia? –