【解决方法】ECall 方法必须打包到系统模块中

今天在做Unity毕业设计,是一个有客户端和服务器端的RPG游戏,可是开启服务器是报错“ECall 方法必须打包到系统模块中


问题重现:

之前的代码是客户端直接连接数据库的,后来改为Socket连接,服务器端连接数据库,将代码拷了过去,发现XmlCtrl.Load(Application.dataPath + @"/Resources/ServerConfigure.xml");中的Application.dataPath没有引用,Application.dataPath是Unity里UnityEngine下的,添加引用和命名空间后就报错“ECall 方法必须打包到系统模块中”了,各种搜解决办法,重新安装.NET4.0也不行(压根安装不上,说我已安装或有更高版本),后来不用Application.dataPath,直接用绝对路径,问题解决!!


解决方法:

不要使用Unity下的属性或方法,比如Application.dataPath。或者此处用C#自带的路径获取方法:

Application.StartupPath
Application.ExecutablePath
--获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
Environment.CurrentDirectory
--获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
Application.ExecutablePath


你可能感兴趣的:(Unity)