我正在尝试为Unity开发本地插件(使用Unity 2017.1.0f3和VS 2015)。我的本地插件的目标平台是UWP,插件是用C#编写的。用C#编写的本地插件EntryPointNotFoundException
下面是我的插件和我的脚本在Unity中的代码。
插件代码在类库针对Windows 10 14393
public static class SettingsService
{
public static string GetSetting(string key)
{
var localSettings = ApplicationData.Current.LocalSettings;
try
{
var stringvalue = localSettings.Values[key] as string;
return stringvalue;
}
catch (ArgumentNullException en)
{
return default(string);
}
}
public static void SaveSetting(string key, string value)
{
var localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values[key] = value;
}
}
统一的脚本代码
public class TestNativePlugin : MonoBehaviour {
[DllImport("UnityPluginTestUWP", EntryPoint = "GetSetting")]
private static extern string GetSetting(string key);
[DllImport("UnityPluginTestUWP", EntryPoint = "SaveSetting")]
private static extern void SaveSetting(string key, string value);
// Use this for initialization
void Start() {
SaveSetting("setting", "oeoeoe");
System.Diagnostics.Debug.WriteLine(GetSetting("setting"));
}
}
的问题是,在运行时,我得到一个EntryPointNotFoundException
与消息: 无法找到在DLL UnityPluginTestUWP.dll中名为'SaveSetting'的入口点'
我已经在网上阅读,这可能是由于编译器对函数名称的修改而发生的。但这只是在C++代码中。我的插件是用C#编写的。
任何帮助克服这一点是值得欢迎的。
你为什么要导入DLL如果写在C++中?直接将您的dll包含在您的资产文件夹中并使用它。 – joreldraw