在Mac上进行.NET开发的技巧

28

我刚刚购买了 MacBook Pro 并且已经使用它(+Fusion)进行约一个月的开发。这个问题的目的类似于 C# 的隐藏特性,旨在成为针对在 Mac 上进行 Windows 开发的技巧和窍门的指南。

需要澄清的是,我知道有引导助理 (Boot Camp),但我不使用它(也没有任何兴趣),因此我使用 Steady State 来确保没有未经我的允许对 OS 分区造成影响。然而,正如 Sara 指出的那样,苹果制造出色的硬件设备,我绝对喜爱我的 MBP 的外观形态,因此对于寻找仅限于 Windows 笔记本电脑的人来说,具有 Boot Camp 的 Mac 不应被忽视,因为硬件非常棒。

我的环境如下:
* MacBook Pro 15" 2.4Ghz 2GB RAM (即将升级到 4GB)
* VMWare Fusion 2.0 Beta
* Windows XP Pro SP3 (在安装之前整合了补丁)

技巧:
* 使用 Windows Steady State 使操作系统保持一致
* 使用 svn+ssh 连接到 Mac,用于小型代码库,然后使用 Time Machine 进行备份。
* 使用 Spaces。

10个回答

15

@Andrew - 我和你的情况完全一样。我使用MBP,但我的公司工作纯粹基于微软平台:即.NET、COM等。虽然没有什么能够比在Boot Camp中本地运行Vista更好(我从未见过Vista运行得如此之快),但是让你的Mac OS成为“主要”操作系统,用于互联网、邮件等方面,已经让我采用了以下配置。效果非常好:

硬件

  • 尽可能地将MBP升级到最大容量-4GB。这真的非常值得。
  • 升级硬盘(如果还没有)到7200RPM。这里有很大的性能提升。

软件

  • Parallels Desktop for Mac用于虚拟化。您可以使用多个VM,也可以使用boot camp分区。后者应该更快,但我并没有真正测量过(我用它来选择本地引导选项,如果我真的需要速度)。前者允许您拥有多个操作系统。我给我的VM 1GB内存。如果您希望它更加敏捷,我可以提供更多。
  • Microsoft Visual Studio 2005/8用于.NET和C++。我还没有看到任何适用于.NET的IDE能够打败这个。intellisense真的很神奇。
  • Code Gear(是的,我们有一些Delphi)

对于偶尔的非开发需求,我也安装了Microsoft Office 2007。它们确实有MAC端口,但那些并不总是够用。


VMware Fusion可以将Boot Camp安装作为虚拟机运行,在双启动情况下可能非常方便。 - Thorbjørn Ravn Andersen
发布这个答案时,4GB被认为是很多的,这真的很甜蜜。现在,Windows或Mac上任何开发机器的最低配置我都会考虑8GB。 - Ian Newson
你说得对 - 回顾当时的4GB确实很可爱。然而,即使是8GB对我来说今天也不够用了。我有一台16GB的机器,将其中8GB分配给我的Windows虚拟机,但Visual Studio的响应非常缓慢(尽管它是一个庞大的应用程序)。 - Manachi

7

还有一件事,有一个Deep Fried Bytes Podcast是完全关于在Mac上进行.NET开发的 - 你可能也会在其中找到一些有用的信息。


1
  • 额外的RAM对你的OS X环境非常有帮助,但是我的经验表明,你不应超出VMWare推荐的1G RAM设置。
  • 我尝试从外部驱动器运行我的虚拟机没有取得好的体验。 而且它是一个火线800。 尽可能将您的开发映像修剪到最小空间,并直接从内部驱动器运行。
  • 如果你决定使用XP(顺便说一句,这是个好选择),你可能会想试试VirtualBox。 它非常迅速。 但是,它无法支持Vista。
  • 如果你想尝试Parallels,请不要!!!它一开始工作得很好,但最终变得非常不稳定,在访问主机文件时经常崩溃,在启动期间3次中有2次死机。 此外,他们的网络实现复杂并且难以设置,例如,如果您想从客户端访问主机上的Apache站点。
  • 如果需要调整图像大小,则可以使用GParted和Partition Magic进行Parallels的好教程。 我相信将其适应到VMWare会很简单。
  • 你使用SVN的方式几乎与我一样(repo在主机上,由Time Machine备份)。 但是,如果您选择仅基于文件的存储库,则可以加快速度并消除服务器的膨胀。

1

我几乎每天都在我的 Mac 上使用 ASP.Net 进行开发,我必须质疑为什么你不对 Boot Camp 感兴趣。是的,VMWare 不错,但对于我来说,单独在 Mac 上运行 Windows 的性能无人能及。


1

从原始问题稍微扩展一下,我们中有些人也在虚拟机上进行 Delphi Windows 开发工作。

我有一台带有几个 G 内存的 MacBook Pro(第一代)和一台最近的 iMac(带有 4 G 内存)。我比 xanadont 更幸运,使用 Firewire 400 运行了几个不同品牌的外部驱动器,并发现它们对于 16-20Gb 的虚拟机来说非常好。如果我要在一个地方呆几天(无论是在办公室的 iMac 上还是在 MBP 上的路上),那么我会将 VM 复制到本地驱动器,但通常情况下,它已经正常工作了约 2 年。

我一开始使用的是 Parallels,但后来他们开始发布未经回归测试的版本,有时候基本功能会在当前版本中突然出现问题。简单的解决方法就是停止下载新版本,保持比其他人落后 3-6 个月。然后我需要给同事提供一个虚拟机,必须通过一些步骤将其从 Parallels 转移到 VMware 中。这时我尝试了 Fusion beta,第一手体验了在 Mac 和 Windows 之间移动虚拟机(完全没有任何麻烦),这让我决定转向 Fusion。我必须说,Fusion 是一个优秀、稳定、可靠的工具。

我在我的虚拟机上运行 WInXP Pro SP 3、Delphi 7、Delphi 2007、SQL Express 和各种开发工具(我 tend to have a VM for each of my clients)。

我同意 xanadont 关于 1Gig RAM 的观点 - 我的虚拟机 tend to have a gig and no more - 我没有看到在虚拟机中使用 >1Gb 会有任何真正的行为/性能变化,所以最好将其分配给主机操作系统而不是虚拟操作系统。


D2007在虚拟机上运行,对于大型Delphi项目的主要设置来说速度足够快吗?屏幕刷新是否流畅? - John Mac
还不错。我认为你需要说明想使用什么样的主机,因为这实际上取决于让虚拟机充分利用主机而不使其崩溃。如果这是一个大项目,并且该机器还运行其他东西(如SQL Server等),那么... - robsoft
如果你打算这么做,我建议你要仔细考虑一下。当我有机会将 VM 文件从笔记本电脑上复制到桌面电脑上时,我确实感觉很自由,因为额外的处理器和内存可以让 VM 更快。你想使用什么样的主机配置? - robsoft
谢谢回复。我在考虑购买新的17英寸MacBook Pro之一,2.9GHZ Core 2 Duo处理器,至少4G内存,NVidia 9600M GT显卡。我最担心的问题是交互式延迟(例如,屏幕刷新缓慢),这会影响编写软件的流畅性。 - John Mac
终于得到了一台新的17英寸MacBook Pro。我将旧的Vista笔记本迁移到了虚拟机中,在OSX/VMWare中运行Delphi非常流畅。 - John Mac
显示剩余2条评论

1
我和你情况一样;在MBP上使用VMware进行.NET开发(还有一点Mono,但那是另一回事)。如果你还没有更新到Fusion 2.0测试版,我建议你这么做;它们更快,提供了一些很棒的新功能(多个快照!应用链接!),而且根据我的经验,它们和1.x版本一样稳定。

0

我相信项目mono支持Mac。

这意味着您想直接在Mac上进行开发,并且愿意放弃一些MS特定的功能和工具(例如没有C#3.0,WPF库和Visual Studio)。

当然,使用Parallels / VMware / VirtualBox或任何其他虚拟机并将其作为Windows客户端使用,如您所描述的那样,也可以正常工作。


0
Oded,这取决于一个人想要做什么类型的.NET开发以及所针对的平台。如果你的目标是Windows并且正在构建除控制台应用程序之外的其他东西,最好不要使用Mono,因为Mono项目不一定是适用于Windows的即插即用解决方案。

0

这不是纯粹的.NET相关,但它与问题中使用Spaces项目有关。

针对运行Leopard的MacBook的触摸板技巧(可能不支持早期的OS X版本):

  • 设置系统偏好设置,键盘和鼠标,触摸板使用两个手指进行次要点击。这使您可以使用两个手指轻敲而不是Control + Click组合进行次要点击(我们.NET开发人员更熟悉的上下文菜单)。

  • 设置系统偏好设置,键盘和鼠标,触摸板使用两个手指屏幕缩放,通过按住Control键并向上或向下滚动来放大屏幕上的区域。这对于快速放大任何Mac应用程序中的小字体或图像细节以及在VMware Fusion下运行的Windows非常有用。您可以通过单击选项按钮选择Control、Option或Command键进行缩放以及其他设置。


-1

我也使用MacBook Pro,但是运行Vista系统。我留了一些空间来运行Leopard系统,并使用Boot Camp来切换。你可以使用Boot Camp来启动Windows系统,这样除非你需要,否则你不必与Leopard系统打交道。

我强烈推荐这种做法,因为苹果的硬件非常棒,微软则制作了很棒的工具(以及很棒的操作系统,我喜欢Vista)。

如果我的言论让你觉得我是个追星族,请随意贬低我。但我发现这种方法对我非常有效。


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