关于macos:Mac上的.NET开发技巧

关于macos:Mac上的.NET开发技巧

.NET Development on a Mac Tips

我刚刚有了MacBook Pro,并且已经使用它(+ Fusion)进行开发了大约一个月。这个问题的目的类似于C#的隐藏功能。成为Mac上Windows开发的技巧和窍门。

我应该澄清一下,我知道新手训练营,但不使用它(也不感兴趣),因此我使用稳定状态来确保在我不知情的情况下,我的OS分区没有任何反应。然而;正如Sara指出的那样,Apple拥有出色的硬件,我绝对喜欢我的MBP的外形,因此对于那些正在寻找Windows的人来说,只有硬件笔记本电脑和带有新兵训练营的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进行备份。
*使用空格。


@Andrew-我正好在您的情况下。我使用MBP时,我的公司工作完全基于Microsoft:即.NET,COM等。虽然没有什么可以击败在Boot Camp中本地运行Vista的(我从未见过Vista运行得如此之快),但是拥有Mac OS的好处作为"主要"操作系统,用于Internet,邮件等,已使我进入以下配置。奇迹般有效:

硬件

  • 尽可能多地加载MBP-4GB。每美元确实值得。
  • 将硬盘驱动器(如果尚未升级)升级到7200RPM。这里的主要性能提升。

软件

  • 用于虚拟化的Parallels Desktop for Mac。您可以具有多个VM,也可以使用Boot Camp分区。后者应该更快一些,但是我还没有真正测量过它(如果我确实需要速度,我可以用它来选择本地启动)。前者可让您拥有多个操作系统。我给我的VM 1GB内存。如果您希望它更加灵活,我可以做更多的事情。
  • 适用于.NET和C ++的Micorsoft Visual Studio 2005/8。我还没有看到任何比.NET更好的IDE。智慧真的很棒。
  • Code Gear(是的,我们有一些Delphi)

对于偶尔的非开发性需求,我还保留了Microsoft Office 2007的安装。它们确实具有MAC端口,但并不总是将其切断。


还有一件事是,有一个Deep Fried Bytes Podcast完全与Mac上的.NET开发有关-您可能还会在其中找到一些块。


我在同一条船上;在MBP上运行VMware,进行.NET开发(还有一点Mono,但这是另一回事)。如果您尚未升级,我建议您升级到Fusion 2.0 Beta;它们速度更快,并提供了一些很棒的新功能(多个快照!应用程序链接!),以我的经验,它们与1.x版本一样稳定。


只是从原始问题中略微扩展了这一点,我们中有些人也在虚拟机上进行Delphi Windows开发工作。

我有一台MacBook Pro(第一代)和几台ram,还有一台最新的iMac(有4台ram)。我比使用外部驱动器的xanadont运气好得多,在Firewire 400上运行几个不同的品牌,发现它们在16-20Gb VM上还不错。如果我要在一个地方呆几天(无论是在iMac上的办公室还是在带MBP的路上),我都会将VM复制到本地驱动器,但通常它可以正常工作约2年了

我从Parallels入手,但是当他们开始发布未经回归测试的版本时,有一点很重要,有时基本功能在当前版本中会突然被破坏。简单的修复,请停止下载新版本,并比其他所有人落后3-6个月。然后,我需要将虚拟机提供给同事,并且必须经过几步才能将其从Parallels迁移到VMware。那时,我尝试了Fusion Beta,具有在Mac和Windows之间移动VM的第一手经验(一点儿也没有大惊小怪),并且说服了我切换到Fusion。我必须说,Fusion是一种出色,稳定,可靠的工具。

我在我的VM上运行WInXP Pro SP 3,Delphi 7,Delphi 2007,SQL Express和各种开发工具(我倾向于为每个客户端都有一个VM)。

我同意xanadont关于1Gig ram的事情-我的工作往往只是一场演出而已-我没有看到在VM中> 1Gb的情况下行为/性能发生任何真正的变化,因此最好将其分配给主机操作系统而不是虚拟的。


我几乎每天都在Mac上使用ASP.Net进行开发,我不得不质疑为什么您对新兵训练营不感兴趣。是的,VMWare很不错,但是就我的金钱而言,没有什么比在Mac上单独运行Windows的性能好。


  • 额外的RAM非常适合您的OS X环境,但是我的经验表明,您不应超过VMWare建议的1G RAM设置。
  • 我无法从外部驱动器上获得运行虚拟机的良好体验。这是一个火线800。将您的开发映像修剪到尽可能小的空间,并直接从内部驱动器运行。
  • 如果您坚持使用XP(不错的选择,顺便说一句),您可能想尝试一下VirtualBox。它非常活泼。但是,它在Vista上令人窒息。
  • 如果您有尝试Parallels的想法,请不要!它可以工作一会儿,但最终变得非常不稳定,经常在访问主机文件时崩溃,并在启动过程中冻结3次中的2次。而且,如果您想从来宾浏览主机上的Apache站点,则它们的网络实现非常复杂且难以设置。
  • 如果需要调整图像大小,可以使用GParted和Partition Magic为Parallels提供一个很好的教程。我敢肯定,将其适应VMWare很简单。
  • 您对SVN的使用几乎就是我所做的(存储库在主机上,并由Time Machine备份)。但是,如果只使用基于文件的存储库,则可以加快速度并消除服务器的膨胀。

这不完全与.NET相关,而是与问题中使用Spaces项目有关。

运行Leopard的MacBook的触控板提示(在早期的OS X版本中可能不支持):

  • 将系统偏好设置,键盘和鼠标,触控板设置为使用两指第二单击。 这使您可以使用两个手指轻击,而不是使用" Control + Click"组合键来进行"辅助单击"(对我们的.NET开发人员而言,它更是上下文菜单)。

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


奇怪的是,这取决于人们试图进行哪种类型的.NET开发,以及针对哪种平台。如果您以Windows为目标并构建除控制台应用程序以外的其他内容,则最好不要使用Mono,因为Mono项目不一定是Windows即用型解决方案。


我相信Mono项目有Mac支持。

这假设您想直接在Mac上进行开发,并且乐于放弃某些MS特定的功能和工具(因此没有C#3.0,像WPF和Visual Studio这样的库)。

当然,将paralles / vmware / virtualbox或任何其他虚拟机与您描述的Windows guest虚拟机一起使用也可以正常工作。


我也使用Mac Book Pro,但我运行Vista。我留出一点空间,这样我就可以运行Leopard并仅使用Boot Camp。您可以使用Boot Camp来从Windows引导,因此除非您愿意,否则不必与Leopard接触。

我会极力推荐它,因为苹果公司制造出色的硬件,而微软公司制造出色的工具(以及出色的操作系统,我喜欢Vista)。

继续贬低我是一名歌迷,但我发现了对我有用的东西。


推荐阅读