在Mac上运行的VM中开发C#/ .NET代码的任何陷阱?

时间:2008-08-26 14:57:47

标签: .net macos vmware

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

另外,为此目的运行Vista或XP Pro是否更好?

16 个答案:

答案 0 :(得分:13)

由于我没有Mac,我无法告诉你任何特定的经历,但我确实想指出有一个很棒的DeepFriedBytes播客剧集讨论了这个话题。这让我想尝试一下。他们讨论了走这条路的利弊 - 如果这是你正在考虑的事情,那么值得倾听IMO:

Episode 5: Developing .NET Software on a Mac

答案 1 :(得分:2)

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

除了键盘问题之外,MacBook Pro的一个缺点是风扇非常响亮且烦人,而根据我的经验,运行VM往往会使笔记本电脑升温到相当频繁。然而,有一些实用程序,如Coolbook,以防止它踢。

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

我使用VMWare Fusion和WinXP在我的Macbook(不是专业版)上开发。在大多数情况下,这是一个非常好的经历。我将4GB内存中的1GB内存分配给VM,速度非常快。

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

所以,如果你记住磁盘空间问题,我想你会发现这种体验非常令人满意。

答案 5 :(得分:1)

在VM中运行Windows的问题最少,但是对于开发,您的体验应该与VM完美接近。两者都会比MonoDevelop提供更少的问题,这是一个完全不同的CLR,编译器和框架的重新实现。

答案 6 :(得分:1)

  1. 我使用Parallels。我使用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根目录放在网络共享上。

  5. 和平| dewde

    http://dewde.com

答案 7 :(得分:1)

我会调查VMWare Fusion 2 Beta来解决那些使用Parallels的人经历的键绑定问题。 Fusion将捕获虚拟机内的所有关键事件,除非您点击特殊的键序列以逃离VM。但是,你仍然需要习惯一些基于Apple的键盘布局(没有退格等)。除了那些东西,它真的很无缝。

答案 8 :(得分:0)

可能最好不要在VM中运行vista。特别是如果您想要打开Aero UI。 VM在高级图形方面不是很好,因此您可能希望以经典模式运行XP或Vista。

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

我没有看到这个设置有任何问题,虽然我不会自己做。

我唯一能解决的问题是键盘布局。 mac-keyboard的布局与pc键盘不同。 (特别是在运行德语窗口的德国mac上,某些字符可能有点难以打字)。你将不得不重新学习键盘的某些部分!

答案 11 :(得分:0)

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

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

答案 12 :(得分:0)

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

我发现有一些东西我不得不用来制作与以前的笔记本电脑相同的体验。

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

我刚注意到我只允许我的VM使用1GB的内存,也许我应该稍微提高一点。有些帖子警告要为VM分配太多内存。

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

[编辑]我知道我曾经在某个地方见过这个,Setting Up Windows Server 2008 VMWare Virtual Machines For .Net - 这是我一直想要尝试的东西,我还没有解决它。 (花在阅读CrackOverflow上的时间太长了)

答案 13 :(得分:0)

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

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

答案 14 :(得分:0)

我使用Parallels进行.NET开发一年多了,使用WinXP Pro并且无法抱怨,它运行速度快(就像在常规机器上一样)并且我得到了所有世界中最好的 - - >一个提示,使用空格,所以让Windows在一个桌面上运行,而你的Mac在另一个桌面上运行,只需一次按键就可以从一侧移动到另一侧,完美无缺!

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

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

答案 15 :(得分:0)

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

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