ue4中调用 C#的dll(一)——打包出C#的dll
1.使用VS新建一个类库
2.项目中–管理NuGet程序包,添加UnmanagedExports,安装好后如下。
3.配置解决方案的生成平台,这里我选了x64。
4.示例核心代码如下。
using System.Runtime.InteropServices;
using RGiesecke.DllExport;
namespace dllforue4
{
internal class testdll
{
[DllExport("GetStr", CallingConvention = CallingConvention.StdCall)]
static public string Getstr(string path)
{
string str = "hello";
return str + path;
}
[DllExport("WriteStr", CallingConvention = CallingConvention.StdCall)]
static public void Writestr(string path)
{
File.WriteAllText(@"D:\learn\testue4.txt", path, Encoding.UTF8);
}
[DllExport("Getfloat", CallingConvention = CallingConvention.StdCall)]
static public float Getfloat(float path)
{
return path;
}
}
}
5.编译程序。
注意编译程序可能会出现下面的错误。
error : syntax error at token '{' in: { Testme
这是由于操作系统不是英文引起的,需要将系统语言设置为英文去进行编译。
6.可以通过下载Reflector.NET来查看编译好的DLL文件。
参考文献
创建c# dll
导入dll
ue4中调用dll函数