Mein Projekt hat 2 DLLs, eine ist Android-spezifisch und die andere ist plattformunabhängig. Die unabhängige DLL lädt die Android-Assembly und ruft die GetTypes-Methode auf, aber sie gibt nicht alle öffentlichen Klassen zurück. Die Android DLL hat 3 Klassen, 2 sind nur mit statischen Methoden statisch. Nur einer kann instanziiert werden. Die statischen Klassen werden nicht zurückgegeben.Typen nicht in geladenen Assembly gefunden
Class1.cs (kompilieren in VS DLL):
using System;
using System.Reflection;
namespace ClassLibrary1
{
public class Class1
{
public void test()
{
Assembly asm = Assembly.Load("ClassLibrary2");
Type T = asm.GetType("ClassLibrary2.Class2");
T.InvokeMember("Method", BindingFlags.Static | BindingFlags.InvokeMethod, null, T, null);
}
}
}
Class2.cs (Kompilieren in eine separate DLL in VS):
namespace ClassLibrary2
{
public static class Class2
{
public static void Method()
{
return;
}
}
}
UnityClass.cs (Zu einem leeren GameObject in Unity 5.x zuweisen):
using UnityEngine;
using System;
class UnityClass : MonoBehaviour
{
public void Start()
{
var x = new ClassLibrary1.Class1();
x.test();
}
}
Können Sie ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) bereitstellen? – thehennyy
https://gist.github.com/anonymous/7dce68c86ee65281033106705444f147 – Mud
Könnten Sie Ihren Code in Ihre Frage aufnehmen? Links könnten in Zukunft tot sein. – thehennyy