我有一个小 DLL,它有 3 个功能:初始化、加载和运行。我是 c# 新手,所以当我在这里阅读问题时,我打开了一个控制台项目并想要加载 DLL 并使用它的功能。不幸的是 - 它没有工作。谁能告诉我出了什么问题?
这是我得到的错误:
Unable to find an entry point named 'Init' in DLL
'....path to my DLL....'.
这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
[DllImport("C:\\Desktop\\DLLTest.dll", CharSet = CharSet.Unicode)]
public static extern bool Init();
[DllImport("C:\\Desktop\\DLLTest.dll", CharSet = CharSet.Unicode)]
public static extern bool Load(string file);
[DllImport("C:\\Desktop\\DLLTest.dll", CharSet = CharSet.Unicode)]
public static extern bool Play();
static void Main()
{
Console.WriteLine("got till here!!!");
Init();
Load("C:\\Desktop\\the_thing_about_dogs_480x270.mp4");
Play();
}
}
}
我唯一可以怀疑的可能是我没有创建实例这一事实?除此之外,没有任何线索:(
*编辑:* 这是DLL:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DLLTest
{
public class DLLTestApi
{
myInfo localPlay;
public bool Init()
{
localPlay = new myInfo();
return true;
}
public bool Load(string file)
{
localPlay.Load(file);
return true;
}
public bool Play()
{
localPlay.StartNewThread();
return true;
}
public bool Stop()
{
localPlay.DxStopWMp();
return true;
}
public bool Pause()
{
localPlay.DxPause();
return true;
}
public bool Resume()
{
localPlay.DxResume();
return true;
}
public bool Close()
{
localPlay.DxClose();
return true;
}
}
}