书接上回
先说下怎么把c#代码生成dll程序集文件
首先我们要先创建一个工程:
我们在工程中先创建一个类库项目
在类库项目中的类,我们写上函数,类和函数都必须用public来修饰。
namespace HotFix_Project
{
public class InstanceClass
{
private int id;
public InstanceClass()
{
UnityEngine.Debug.Log("!!! InstanceClass::InstanceClass()");
this.id = 0;
}
public InstanceClass(int id)
{
UnityEngine.Debug.Log("!!! InstanceClass::InstanceClass() id = " + id);
this.id = id;
}
public int ID
{
get { return id; }
}
// static method
public static void StaticFunTest()
{
UnityEngine.Debug.Log("!!! InstanceClass.StaticFunTest()");
}
public static void StaticFunTest2(int a)
{
UnityEngine.Debug.Log("!!! InstanceClass.StaticFunTest2(), a=" + a);
}
public static void GenericMethod<T>(T a)
{
UnityEngine.Debug.Log("!!! InstanceClass.GenericMethod(), a=" + a);
}
public void RefOutMethod(int addition, out List<int> lst, ref int val)
{
val = val + addition + id;
lst = new List<int>();
lst.Add(id);
}
}
}
这是官方demo中热更项目中的代码目录Assets\Samples\ILRuntime\1.6.7\Demo\HotFix_Project~\InstanceClass.cs
HelloWorld中就是调用的这个类InstanceClass其中的StaticFunTest方法
写完后我们右击该项目属性,看输出类型是否为类库。然后在编译器菜单栏里点生成弹的下拉菜单里选(生成你创建的那个项目名),dll就生成了,大功告成可以拿到那边加载位置测试了