我一直在尝试编译一些我用f#编写的库,以便在我为xbox360编写的游戏中工作,但我总是收到"The module/namespace 'System.Net.WebRequest' from compilation unit 'System' did not contain the namespace, module or type 'WebRequest'错误。
我用来编译它的命令是
"C:\Program Files (x86)\Microsoft F#\v4.0\fsc.exe" -o:obj\Release\XBox360.dll --standalone --noframework --define:TRACE --optimize+ --tailcalls+ -r:"C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Xbox360\mscorlib.dll" -r:"C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Xbox360\System.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll" --target:library --warn:3 --warnaserror:76 --fullpaths --flaterrors somefile.fs有没有人知道解决或避免这个问题的方法?
发布于 2011-11-24 20:08:32
xbox xna程序集是普通.net程序集的简化版本(它使用客户端框架+-一些)。
一个主要限制是,在xbox上使用xna时,您只能使用microsoft的实时服务器进行通信。即没有web请求。
您可以通过将受支持的SerializableAttribute page (在受支持的成员和构造函数旁边有xna符号)与不受支持的WebRequest page进行比较来了解这一点。
not All is not lost.核心XNA DLLS似乎要求该类存在于系统中,因此您不能只链接到核心库的F# /xbox版本。
幸运的是,微软的一些人友好地构建了没有这种限制的DLL。请看这里:
Xbox360上的
XNA + F#不是官方支持的组合。在CLR中缺乏对尾部调用的支持会导致标准F#核心库崩溃。Don Syme和微软的其他人好心地为Xbox360提供了一个定制的F#核心库。需要摆弄.fsproj文件(可以使用脚本自动完成)。
在该演示文稿中,我找到了以下链接:
包含专门为构建的F# DLL的XNA项目(看起来Source中的文件夹FSharpCore就是您想要的):https://bitbucket.org/johdex/xnautils
关于在F#中进行XNA开发的博客:http://sharp-gamedev.blogspot.co.uk/
https://stackoverflow.com/questions/8256689
复制相似问题