SqlDependency.Start在Unity中不起作用?

时间:2018-06-02 21:13:36

标签: c# unity3d

我正在创建一个简单的客户端服务器应用程序而且我遇到了sql。当我运行像

这样的代码
using System.Data;
class Program
{
    static void Main(string[] args)
    {
         SqlDependency.Start("server=111.111.111.111;database=db;Persist Security Info=false;Integrated Security=false;User Id=user;Password=password");
    }
}

然后我看到在SQL Server上的数据库中的服务代理中正确创建了队列和服务

但是当我从团结中运行类似的代码时:

using System.Data;
public class ABC : MonoBehaviour 
{
    void Start()
    {
        System.Data.SqlClient.SqlDependency.Start("server=111.111.111.111;database=db;Persist Security Info=false;Integrated Security=false;User Id=user;Password=password")
    }
}

然后没有创建任何队列和服务,并且控制台中没有错误。

无论执行此代码的位置,SqlDependency.Start都无法正常工作。 我试图使用不同版本的system.data.dll,但它没有帮助。

bool a=System.Data.SqlClient.SqlDependency.Start("server=111.111.111.111;database=db;Persist Security Info=false;Integrated Security=false;User Id=user;Password=password")
Debug.Log(a)

返回true

请帮忙!

1 个答案:

答案 0 :(得分:0)

好吧,我花了两天时间寻找这个问题的解决方案并找到了它。

首先转到编辑>项目设置>播放器。在"其他选项"改变"脚本运行时版本" to" .NET 4.x等效"和" Api兼容级别"到" .NET 4x",重启Unity 接下来转到Unity \ Editor \ Data \ MonoBleedingEdge \ lib \ mono \ 4.5并将System.Data.dll复制到项目文件夹。

最后它有效!