Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使MacOS上的Xamarin与F#64位兼容?_Macos_Xamarin_F#_Mono_64 Bit - Fatal编程技术网

如何使MacOS上的Xamarin与F#64位兼容?

如何使MacOS上的Xamarin与F#64位兼容?,macos,xamarin,f#,mono,64-bit,Macos,Xamarin,F#,Mono,64 Bit,我在MacOS Sierra 10.12.4上运行Xamarin 6.3 从Xamarin站点下载的.dmg中安装Xamarin时,似乎只安装了mono 32位版本 我一直在按照指示做 到目前为止,mono64已成功安装在我的机器上,在终端窗口中,我可以以64位执行FSI 但是在这里切换我的设置后,Xamarin (fsharpi64是一个经过修改的脚本: !/bin/sh EXEC=“EXEC” 如果测试x“$1”=x--debug;那么 调试=--调试 转移 fi 如果测试x“$1”=x-

我在MacOS Sierra 10.12.4上运行Xamarin 6.3 从Xamarin站点下载的.dmg中安装Xamarin时,似乎只安装了mono 32位版本

我一直在按照指示做

到目前为止,mono64已成功安装在我的机器上,在终端窗口中,我可以以64位执行FSI

但是在这里切换我的设置后,Xamarin

(fsharpi64是一个经过修改的脚本:

!/bin/sh
EXEC=“EXEC”
如果测试x“$1”=x--debug;那么
调试=--调试
转移
fi
如果测试x“$1”=x--gdb;那么
转移
EXEC=“gdb--eval命令=run--args”
fi
如果测试x“$1”=x--valgrind;则
转移
EXEC=“valgrind$valgrind\u选项”
fi
#注意,当fsi.exe为fsi.exe时,此行必须与正则表达式“(\/.*)\/fsi\.exe”匹配。
#这是因为FSharp MonoDevelop加载项查看此脚本的文本以确定安装
#用于查找FSharp编译器二进制文件的默认FSharp安装位置(请参阅
#fsharpbinding/MonoDevelop.fsharpbinding/Services/CompilerLocationUtils.fs)。这是一个非常不幸的问题
#找到这些二进制文件的方法。确实应该改变。
$EXEC/Library/Frameworks/Mono.framework/Versions/4.8.1/bin/mono64$DEBUG$Mono_OPTIONS/Library/Frameworks/Mono.framework/Versions/4.8.1/lib/Mono/fsharp/fsi.exe--exename:$(basename“$0”)“$@”
)

我还在Xamarin的32位执行中


下一个未回答的问题是如何在Xamarin中以64位编译

如何编译
?。。。你说的是FSI Pad吗?有两个截然不同的问题,但是非常相似的一点是,为了使F#interactive在Xamarin 2中以64位工作,为了在Xamarin 2中以64位编译F#projects,FSI Pad是通过
fsharpbinding
定义的,我个人不知道如何通过MonoDevelop生成
MonoDevelop.FSharpi.Service
作为一个64位进程,而不需要修改/构建自己的
fsharpbinding
Addin。。。。至于编译,当您构建F#项目时,它将使用您在prefs中定义的脚本(默认或非默认),您仍然需要使用
mono64
或在实际运行编译程序时提供
--arch=64
。仅供参考:除“前进到下一行”外,您版本中显示的所有F#交互式选项在最新版本中都已删除。要进行编译,您需要将.fsproj文件中的
PlatformTarget
设置为
AnyCPU
。当您从Xamarin studio运行
AnyCPU
应用程序时,您需要确保项目的运行配置将
--arch=64
传递到Mono运行时。这是通过编辑启动项目的属性来完成的,进入运行>配置>默认值>高级选项卡>单击“Mono Runtime Settings”(单运行时设置)旁边的省略号,键入“附加选项”旁边的
--arch=64