5

我正在考虑购买 Apple MacBook Pro。在 Mac 上运行的虚拟机中开发 C#/.NET 代码是否有任何陷阱?

此外,为此目的运行 Vista 或 XP Pro 更好吗?

4

16 回答 16

13

因为我没有 Mac,所以我无法告诉你任何具体的经历,但我确实想指出,DeepFriedBytes 播客中有一个很棒的一集讨论了这个话题。这让我想试一试。他们讨论了走这条路的利弊——如果这是你正在考虑的事情,那么值得一听 IMO:

第 5 集:在 Mac 上开发 .NET 软件

于 2008-08-26T15:00:54.947 回答
2

我正在运行 Windows Server 2008 的 Parallels VM 中进行开发,总体而言它非常棒。如果您正在进行 Web 开发,我强烈推荐使用 Vista 或 XP 之上的服务器操作系统。

除了键盘问题,MacBook Pro 的一个缺陷是风扇非常响亮和烦人,根据我的经验,运行虚拟机往往会使笔记本电脑发热到足以相对频繁地启动它。但是,有一些实用程序,例如 Coolbook,可以防止它启动。

于 2008-08-26T15:30:08.587 回答
1

XP Pro 肯定更好,除非你有一个非常强大的 Mac。

关于您的另一个问题,除了性能之外,没有任何陷阱。我更喜欢使用真正的 PC 进行实际编码,使用 VM 进行测试。显然,这不是您在 OSX 中的选择。但是,如果 VM 性能成为您的问题,您可以选择 Boot Camp。这也可以让您在没有性能下降的情况下运行 Vista。

请记住,Mac 的两种虚拟机解决方案还相当不成熟。我都使用过,虽然它们完全适合开发,但我发现两者在不同程度上都不稳定。Parallels 看起来基本稳定,但确实崩溃并且似乎有内存泄漏;VMWare 更强大,默认情况下会消耗更多的系统性能(似乎也比 Parallels 执行得更好),但根据您的设置可能会出现严重的图形问题,特别是如果您尝试使用 Unity 模式。

于 2008-08-26T15:00:52.217 回答
1

我正在 VMWare Fusion 下的 Vista VM 中开发 .NET 应用程序。显然你需要很多内存,但除了没有 Aero 之外,我还没有遇到任何问题。

于 2008-08-26T15:01:28.860 回答
1

我使用 VMWare Fusion 和 WinXP 在我的 Macbook(非专业版)上进行开发。在大多数情况下,这是一次非常好的体验。我将 4GB 内存中的 1GB 分配给虚拟机,而且速度非常快。

我遇到的一个主要缺陷是磁盘空间。如果安装完整的 VS2008 安装和其他工具,可以快速吃掉 30-40GB 的磁盘。如果你开始使用快照功能或运行多个虚拟机,你会吃得更多。由于我将笔记本电脑用作主要机器并且在 OSX 端有大量数据和应用程序,因此使用标准 120GB 驱动器的磁盘空间不足。

因此,如果您牢记磁盘空间问题,我认为您会发现体验相当令人满意。

于 2008-08-26T15:55:48.353 回答
1

您在不在 VM 中运行 Windows 时遇到的问题最少,但对于开发而言,您的体验应该与 VM 接近完美。与 MonoDevelop 相比,两者都会给您带来更少的问题,MonoDevelop 是完全不同的 CLR、编译器和框架的重新实现。

于 2008-08-26T16:10:16.790 回答
1
  1. 我使用平行。我使用 Vista 4 个月,然后切换到 XP。我更喜欢 XP,因为它更快。

  2. 键绑定很古怪。在托管的 XP 中调试时使用功能键将触发 OS X 中的事件,从而有效地将您弹出。

  3. 我设置了 3 个“空间”。一个用于 OS X,一个用于 XP VM,最后一个用于我桌面的 RDC。这非常有用。我现在不能没有空间。这种技术实际上扼杀了我对第二台显示器的渴望。

  4. 正如 Jason 所说,任何存储在 OS X 分区上的文件都将被视为 XP/Vista VM 的网络资源。因此,尝试在那里运行 EXE 或存储 Web 根目录会导致信任问题。Studio 不喜欢将项目 Web 根目录放在网络共享上。

和平|露水

http://dewde.com

于 2008-08-27T18:12:41.917 回答
1

我会研究VMWare Fusion 2 Beta以解决使用 Parallels 的人所经历的键绑定的怪癖。Fusion 将捕获虚拟机内的所有按键事件,除非您按下特殊按键序列以逃离虚拟机。但是,您仍然需要习惯一些基于 Apple 的键盘布局(没有退格等)的奇怪之处。撇开这些不谈,它真的很无缝。

于 2008-08-28T20:07:35.300 回答
0

最好不要在虚拟机中运行 vista。特别是如果您希望打开 Aero UI。VM 不太适合高级图形,因此您可能希望在经典模式下运行 XP 或 Vista。

于 2008-08-26T14:59:13.747 回答
0

不是真的,它应该运行得很好。你的开发环境会慢一点……但根据我的经验,这并不是那么糟糕。我不希望它作为我的主要机器,但它完全可用。

于 2008-08-26T14:59:59.783 回答
0

我不认为 Kibbee 的建议是正确的。VMware Fusion(适用于 mac)目前最高支持 DirectX9。Vista的集成非常好。如果您有任何问题,您可以本机引导到您的虚拟机(如果您已将其设置为 Mac 上的 BootCamp 分区)。

尽管我自己不会这样做,但我认为此设置没有任何问题。

唯一对你来说是个问题的是键盘布局。mac 键盘的布局与 pc 键盘不同。(特别是在运行德语 windows 的德语 mac 上,某些字符可能更难输入)。您将不得不重新学习键盘的某些部分!

于 2008-08-26T15:04:17.963 回答
0

我在运行 VMWare Fusion 和 Vista x64 的 MacBook Pro 上进行 asp.net 开发。这对我很有效。

正如其他人提到的,键绑定有点奇怪。我通常使用全尺寸外接键盘,这很有帮助。

于 2008-08-26T15:10:57.557 回答
0

我正在使用 VMWare Fusion 中的 XP Pro 开发 .net 应用程序,但没有发现任何问题。我什至没有看到任何性能问题,因为 MacBook Pro 中的硬件比我以前的笔记本电脑中的硬件要好得多。

我发现有一些事情我必须摆弄才能使体验与在我以前的笔记本电脑上工作一样。

我必须安装Sharp Keys才能访问键盘上的右键单击/上下文菜单键,这是我在 VS 中经常使用的。我还确保某些 Mac OS 键盘和鼠标快捷键未在 VMWare Fusion 中注册,以阻止奇怪的事情发生。

我刚刚注意到我只允许我的虚拟机使用 1GB 内存,也许我应该稍微增加一点。有一些帖子警告说要为 VM 分配过多的内存。

建议用于提高性能的一件事是在另一个主轴上运行 VM。我还没有找到价格合适的 7200rpm 便携式驱动器,所以我无法对此发表评论。

[编辑] 我知道我在某处看到过,为 .Net 设置 Windows Server 2008 VMWare 虚拟机- 这是我一直想要尝试的东西,但我还没有开始。(花太多时间阅读 CrackOverflow)

于 2008-08-26T15:14:44.133 回答
0

对于虚拟化,我会尝试 Sun 的Virtual Box。我在 Windows XP 和 Windows Vista 中使用它并且效果很好,我希望在 Mac 上运行时性能会相似。

至于运行哪个操作系统,我会坚持使用 Windows XP Pro。您不需要像运行 Vista 那样为 VM 分配尽可能多的 RAM。

于 2008-08-26T15:16:34.143 回答
0

我已经使用 Parallels 进行 .NET 开发一年多了,使用 WinXP Pro 并且不能抱怨,它运行速度很快(就像在普通机器上一样),我得到了世界上最好的 --> 一个提示,使用空格,让 Windows 在一张桌子上运行,而你的 Mac 在另一张桌子上运行,只需按一下键,您就可以完美地从一侧移动到另一侧!

在 Bootcamp 方面,老实说,我尝试了一段时间,但一段时间后必须重新启动才能访问我在 Mac 上的应用程序变得很烦人。只是一个建议:如果您选择此选项,请查看 MacDrive,它不会出错,因为您将保持对 Mac 分区的访问。

去过那里,做到了……我有点喜欢它;)……祝你过渡好运!

于 2008-08-26T15:20:37.300 回答
0

仅提及 VMWare Fusion 的替代方案,我正在使用 Parallels 作为 VM。到目前为止,当我为 VM 提供 1 GiB 的主内存时,性能还不是问题。在决定使用一台 VM 之前,我建议对它们进行全面测试。我对 Parallels 很满意,但我不确定下次我不会使用 VMWare Fusion。

与 Mo 所说的相反,我实际上发现 Mac 键盘布局比 Windows 布局好得多,使用德国键绑定。

于 2008-08-26T15:22:41.117 回答