如何在Monodevelop中构建x64?

5

我想在Monodevelop中构建一个x64项目包。我可以将项目编译器选项从x86更改为x64,但是这样做会出现错误:

Error CS0016: Could not write to file `AudioCuesheetEditor', cause: AMD64 (CS0016) (AudioCuesheetEditor)

我如何为x64系统构建软件包?

谢谢您的帮助!


他们可能没有实现“仅在x64上运行,永远不在x86上运行”的选项。这对它来说几乎没有任何价值。请检查是否有类似于AnyCPU选项的东西。 - Hans Passant
谢谢,使用编译器选项中的“任何 CPU”,我已经能够构建。但是,“任何 CPU”到底是什么意思呢?这是否意味着Mono运行时会确定使用哪个运行时或其他内容? - Sven
1
大致来说,在64位操作系统上会得到x64,而在32位操作系统上会得到x86。这是由即时编译器提供的自动化功能。 - Hans Passant
我现在测试了任何CPU只能在Linux上工作。如果我在Windows下尝试启动可执行文件,应用程序就会崩溃,不知道为什么,有任何想法吗? - Sven
我自己找到了答案。在 Windows x86 上使用 anycpu 没有问题。但是在 Windows x64 上使用会崩溃,因为 gtk-sharp 没有 x64 构建版本。所以在 Windows x64 上必须构建 x86 版本。 - Sven
嗯,不对。这个问题是关于编译错误的,你在谈论运行时错误。 - Hans Passant
1个回答

1
使用 any cpu 配置,如果在64位操作系统上运行,则会得到x64,在32位操作系统上运行则会得到x86。这是由即时编译器提供的自动化功能。
但是,在Windows x86上使用anycpu没有问题。使用Windows x64会崩溃,因为gtk-sharp没有x64构建版本。因此,在Windows x64上必须构建x86版本。

1
我自己找到了答案。在 Windows x86 上使用 anycpu 没有问题。但是在 Windows x64 上使用会崩溃,因为 gtk-sharp 没有 x64 构建版本。所以在 Windows x64 上必须构建 x86 版本。 - Sven
1
更新了答案!!继续加油!幸运的是,我的雇主的软件应用程序不支持32位Windows系统 轻松一口气 - Nicholas DiPiazza
实际上不是这样的。我正在Linux上使用msbuild进行构建,但当我在Windows上运行时,可执行文件是32位的。我该如何使其构建为64位? - Nicholas DiPiazza
我有一种感觉,你需要进入“项目选项”->“生成”->“编译器”,并将平台目标设置为x64。 - Nicholas DiPiazza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接