Unity加载第三方C# DLL时,解析不能删除的问题。

把DLL加载到内存可解决问题。

 void T1()
    {
        var p = @"D:\Document\Unity\TestDll\bin\Release\TestDll.dll";
        byte[] bin;
        using (var fs = new FileStream(p, FileMode.Open))
        {
            using (var br = new BinaryReader(fs))
            {
                bin = br.ReadBytes(Convert.ToInt32(fs.Length));
            }
        }
        var assembly = Assembly.Load(bin);

        var t = assembly.GetType("TestDll.test");
        var instance = Activator.CreateInstance(t);
        var m = t.GetMethod("add");
        Debug.Log(m.Invoke(instance, new object[] { 1, 2 }));
    }

  

转载于:https://www.cnblogs.com/jephone/p/8205252.html

你可能感兴趣的:(Unity加载第三方C# DLL时,解析不能删除的问题。)