在运行在Mac上的虚拟机中开发C# / .NET代码时有什么需要注意的地方吗?

5

我正在考虑购买一台苹果MacBook Pro电脑。在运行虚拟机的Mac上开发C#/.NET代码有什么需要注意的地方吗?

另外,为此目的而运行Vista还是XP Pro更好呢?

16个回答

13

我无法提供任何具体的经验,因为我没有使用过Mac电脑,但我想指出DeepFriedBytes播客中有一集非常棒地讨论了这个话题。这使我想尝试一下。他们讨论了采取这种方法的利弊 - 如果您在考虑这件事情,那么听一下是非常值得的。

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


2

我正在使用运行Windows Server 2008的Parallels虚拟机进行开发,整体效果非常好。如果你从事网站开发,我强烈推荐使用服务器操作系统而不是Vista或XP。

除了键盘问题外,MacBook Pro 的一个缺点是风扇声音非常大且令人讨厌,运行虚拟机会导致笔记本电脑发热并相对频繁地启动风扇。但是,有一些实用工具如Coolbook可以防止风扇启动。


1

XP Pro绝对更好,除非你有一台非常强大的Mac。

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

请记住,Mac的两个虚拟机解决方案都相当不成熟。我已经使用过两者,虽然它们完全足够用于开发,但我发现两者都有不同程度的问题。Parallels似乎比较稳定,但会崩溃并且似乎存在内存泄漏;VMWare更强大,并默认占用更多系统性能(也似乎比Parallels表现更好),但根据您的设置可能会出现严重的图形问题,特别是如果您尝试使用Unity模式。


1

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


1

我使用VMWare Fusion和WinXP在我的Macbook上进行开发(不是Pro)。总体而言,这是一种非常好的体验。我将4GB内存中的1GB分配给虚拟机,速度相当快。

我遇到的一个主要问题是磁盘空间。如果您安装了完整的VS2008安装程序和其他工具,您很快就会用尽30-40GB的磁盘空间。如果您开始使用快照功能或运行多个虚拟机,则会使用更多空间。由于我将笔记本电脑用作主要计算机,并且在OSX侧有大量数据和应用程序,因此我在标准的120GB驱动器上磁盘空间不足。

因此,如果您牢记磁盘空间问题,我认为您会发现这是一种非常令人满意的体验。


1

你最好不要在虚拟机中运行Windows,但是对于开发来说,在虚拟机中的体验应该会非常完美。相比之下,MonoDevelop可能会给你带来更多问题,因为它是一个完全不同的CLR、编译器和框架的重新实现。


1
  1. 我使用 Parallels。我曾经使用 Vista 四个月,然后切换到 XP。我更喜欢 XP,因为它更快。

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

  3. 我设置了 3 个“空间”。一个用于 OS X,一个用于 XP 虚拟机,最后一个用于远程桌面连接到我的桌面。这非常有用。现在我已经离不开空间了。这种技术实际上杀死了我对第二个显示器的渴望。

  4. 就像 Jason 所说的那样,存储在 OS X 分区上的任何文件都将被视为 XP/Vista 虚拟机的网络资源。因此,尝试运行 EXE 文件或将 Web 根目录存储在其中会引起信任问题。Studio 不喜欢项目 Web 根目录位于网络共享上。

peace|dewde

http://dewde.com


1

我建议尝试使用VMWare Fusion 2 Beta来解决在使用Parallels时遇到的按键绑定问题。Fusion将捕获虚拟机内的所有按键事件,除非您按下特殊的键序列以从虚拟机中退出。但是,您仍然需要习惯基于苹果的键盘布局的一些奇怪之处(例如没有退格键等)。除了这些问题外,它真的非常无缝。


0

最好不要在虚拟机上运行Vista。特别是如果你想打开Aero UI。虚拟机对高级图形处理性能不是很好,所以你可能需要运行XP或者Vista的经典模式。


0

不会,程序应该可以正常运行。只是你的开发环境可能会有点慢……但是根据我的经验,这并不是非常糟糕。我不想把它作为我的主要机器,但它完全可以使用。


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