Visual studio Unity:Hololens在部署时不会运行线程,但在编辑器中工作
我正试图在全息镜头上发送UDP广播,但由于某些原因,线程无法执行。有趣的是,当我在VS的旧笔记本电脑上编译它时,它工作了?!我比较了已安装的SDK,设置了所有内容,但当我在旧笔记本电脑上编译它时,我不明白为什么它能工作。我一开始发现这一点纯属巧合 这将调用线程:Visual studio Unity:Hololens在部署时不会运行线程,但在编辑器中工作,visual-studio,unity3d,uwp,udp,hololens,Visual Studio,Unity3d,Uwp,Udp,Hololens,我正试图在全息镜头上发送UDP广播,但由于某些原因,线程无法执行。有趣的是,当我在VS的旧笔记本电脑上编译它时,它工作了?!我比较了已安装的SDK,设置了所有内容,但当我在旧笔记本电脑上编译它时,我不明白为什么它能工作。我一开始发现这一点纯属巧合 这将调用线程: public void StartThread() { //创建用于读取UDP消息的线程 readThread=newthread(newthreadstart(ReceiveData)); readThread.IsBackgroun
public void StartThread()
{
//创建用于读取UDP消息的线程
readThread=newthread(newthreadstart(ReceiveData));
readThread.IsBackground=true;
readThread.Start();
}
线程看起来像这样:
private void ReceiveData()
{
客户端=新的UdpClient(端口);
client.EnableBroadcast=true;
Log(“线程已启动”);
while(true)
{
尝试
....
调试行甚至不会被执行。我在Unity中工作,但不是在Hololens上,除非我在我的一台旧机器上编译它
有什么想法吗?我完全不知所措。正如德胡戈所建议的,线程需要像这样启动
public void StartThread()
{
// create thread for reading UDP messages
readThread = new Thread(ReceiveData);
readThread.IsBackground = true;
readThread.Start();
}
这就成功了。您是否尝试使用附加的调试器并设置断点?您是否也尝试只使用
..=new Thread(ReceiveData);
?谢谢,new Thread(ReceiveData);成功了。但它为什么在另一台部署机器上工作毫无意义。是的从.NET Framework的2.0版开始,不需要显式创建委托。在线程构造函数中指定方法的名称,编译器将选择正确的委托。
但正如您所说,它实际上应该我想也是这样。