在Unity3D中使用Windows.Networking.Sockets

时间:2015-03-24 12:36:06

标签: c# sockets unity3d windows-store-apps windows-store

我正在尝试将我们的Unity应用程序移植到Windows应用商店,到目前为止我无法使用SDK。我已经达到了可以在Visual Studio 2013 Express for Windows Desktop中打开Unity C#项目的地步(这很奇怪,因为" ...对于Windows"无法打开Unity项目,但是需要为了发展)。宏#if UNITY_WINRT开始起作用,但我似乎无法使用"使用"右边

using UnityEngine;
using System.Collections;
#if UNITY_WINRT
using Windows.Networking.Sockets;
#else
using System.Net;
using System.Net.Sockets;
#endif
using System;
using System.Threading;
using System.Xml;
using System.Collections.Generic;

并且Windows.Networking.Sockets标有错误,通常,using Windows似乎不存在......我做错了什么?我应该在使用部分添加一些东西吗?我应该添加一些库吗?

现在我明白为什么Windows Phone的应用程序开发人员如此少,如果与Android或iOS相比开发设置如此困难和受限制(这是受限制的,但设置很简单)。

非常感谢你的帮助......

2 个答案:

答案 0 :(得分:1)

由于您的应用程序在Visual Studio Express for Desktop中打开而在Visual Studio Express for Windows中打开,因此您可能会在Unity而不是Windows Phone项目中生成Windows桌面项目。您需要返回Unity并将Visual Studio解决方案重新生成为Windows应用商店或Windows Phone解决方案。还要确保您的VS Express至少具有Update 2以允许Windows Phone项目。更好的是:升级到Visual Studio Community而不是使用VS Express。它仍然是免费的,但相当于VS Pro,(最重要的是)将运行Visual Studio Tools for Unity

您需要使用#if NETFX_CORE而不是(或除此之外)UNITY_WINRT来使用Windows运行时。 UNITY_WINRT将允许将特定功能定位到Windows Phone或Windows应用商店,但它仍将在Unity编辑器(单声道,而不是Windows运行时)中运行。只有在Windows运行时运行而不是单声道运行时,NETFX_CORE才会生效。

答案 1 :(得分:1)

好吧,我把它弄好了。我在Visual Studio中用C#(托管)创建了一个DLL库。然后我在mu Unity应用程序中调用了我需要的方法。