Unity上的WebServices,Dll,与.Net 4.0的兼容性



我正在尝试在 Unity 上使用 Web 服务。 我使用 svcutil 生成一个代理类,但是代理类使用的是"System.Threading.Tasks"。

我注意到System.Threading.Tasks在.Net 3.5上不可用。 所以我去了播放器设置,我改成了.Net 4.x

但是现在我有另一个问题,我找不到解决方法,我需要使用 System.Web.dll 和 System.Web.Services.dll 来使我的 Web 服务正常工作,但是,程序文件\Unity\Editor\Data\Mono\lib\mono\2.0 中包含的 dll 都是 .Net 3.5 的目标。

所以这意味着我不能在 .Net 4.x 上使用它们

我一直在寻找安静的时间,但找不到任何答案。 如果需要,我可以在此处将代码添加到代理类中,但我认为它没有用。我应该在某个地方下载这些 dll 吗? 有人在某处见过这些问题吗?

您使用了错误的 dll 版本。

Api Compatibility Level更改为 Net 4.x 后,您必须将System.Web.dllSystem.Web.Services.dll文件从<UnityInstallationDirectory>EditorDataMonoBleedingEdgelibmono4.5复制到<Project>Assets路径。

就是这样。重新启动 Visual Studio 和 Unity。

还有另一种链接缺失库的方法,如本 Unity 文档中所述。

创建一个名为csc.rsp的文件,并将以下 2 行放入其中:

-r:System.Web.dll
-r:System.Web.Services.dll

是的,您最好将兼容级别设置为 .NET 4.x 在某些情况下,您可能还希望重新启动 Unity 或 VS。

相关内容

  • 没有找到相关文章