在Mac上运行的VM中开发C#/。NET代码有什么陷阱吗?

时间:2020-03-05 18:43:21  来源:igfitidea点击:

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

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

解决方案

回答

最好不要在VM中运行Vista。特别是如果我们希望打开Aero UI。 VM的高级图形效果不是很好,因此我们可能需要在经典模式下运行XP或者Vista。

回答

并非如此,它应该可以正常运行。开发环境会稍微慢一点...但是以我的经验,这还不是很糟糕。我不希望它作为我的主机,但它完全可以使用。

回答

除非我们拥有强大的Mac,否则XP Pro绝对更好。

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

请记住,用于Mac的两个虚拟机解决方案还不成熟。我都使用了它们,虽然它们非常适合开发,但我发现它们在不同程度上都有些脆弱。 Parallels似乎大多数情况下都是稳定的,但是确实崩溃了,并且似乎存在内存泄漏。 VMWare功能更强大,默认情况下会占用更多系统性能(似乎也比Parallels更好),但是根据设置,尤其是尝试使用Unity模式时,可能会出现严重的图形问题。

回答

由于我没有Mac,因此我无法告诉我们任何具体的体验,但是我确实想指出,DeepFriedBytes播客中有一段很棒的片段讨论了这个话题。这让我想尝试一下。如果我们正在考虑以下问题,他们将讨论走这条路线的利弊值得IMO倾听:

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

回答

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

回答

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

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

唯一的问题是键盘布局。 Mac键盘与PC键盘的布局不同。 (特别是在运行德语窗口的德语Mac上,某些字符可能很难键入)。我们将必须重新学习键盘的某些部分!

回答

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

就像其他人提到的那样,这些键绑定有些奇怪。我通常使用全尺寸的外接键盘,这很有帮助。

回答

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

我发现,要想使体验与在以前的笔记本电脑上一样,我必须做一些事情。

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

我只是注意到我只允许我的VM使用1GB的内存,也许我应该稍微增加一点。那里有帖子警告有关为VM分配过多内存的信息。

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

[编辑]我知道我曾经在某个地方看到过这种情况,为.Net设置Windows Server 2008 VMWare虚拟机。这是我一直想尝试的事情,但我还没有解决。 (花太多时间阅读CrackOverflow)

回答

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

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

回答

我已经使用Parallels进行.NET开发了一年多了,使用WinXP Pro并没有抱怨,它运行速度非常快(就像在普通计算机上一样),我得到了世界上最好的->一个提示,请使用空间,因此,Windows可以在一个工作台上运行,而Mac则可以在另一工作台上运行,而且只需按键,就可以完美地从一侧移到另一侧!

在Bootcamp方面,老实说,我尝试了一段时间,但是一段时间后不得不重新启动以访问Mac上的应用程序变得很烦。只需提一个建议:如果使用此选项,请看看MacDrive,不要错,因为我们将保持对Mac分区的访问权限。

到那里去了,做完了...我有点喜欢;)...祝你过渡顺利!

回答

仅提及VMWare Fusion的替代方法,我正在使用Parallels ALS VM。到目前为止,当我给虚拟机提供1 GiB主内存时,性能一直不是问题。在决定一个VM之前,我建议对它们全部进行全面测试。我对Parallels感到非常满意,但不确定下次是否会使用VMWare Fusion。

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

回答

我正在运行Windows Server 2008的Parallels VM中进行开发,总的来说,它非常棒。如果我们要进行Web开发,我强烈建议我们在Vista或者XP上使用服务器操作系统。

除了键盘问题外,MacBook Pro的一个陷阱是风扇非常响且烦人,而根据我的经验,运行VM往往会使笔记本电脑发热到足以频繁启动笔记本电脑的速度。但是,还有诸如Coolbook之类的实用程序可以阻止它继续运行。

回答

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

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

因此,如果我们牢记磁盘空间问题,我认为我们会感到满意。

回答

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

回答

  • 我使用Parallels。我使用Vista达4个月,然后切换到XP。我更喜欢XP,因为它速度更快。
  • 按键绑定是古怪的。在托管XP中调试时使用功能键将触发OS X中的事件,从而有效地弹出视线。
  • 我设置了3个"空格"。一个用于OS X,一个用于XP VM,最后一个用于RDC。这非常有用。我现在不能没有空间了。这项技术实际上扼杀了我对第二台显示器的渴望。
  • 就像Jason所说的那样,存储在OS X分区上的所有文件都将被视为XP / Vista VM的网络资源。因此,尝试运行EXE或者存储Web根目录会导致信任问题。 Studio不希望项目网络根目录位于网络共享上。

和平

http://dewde.com

回答

我将研究VMWare Fusion 2 Beta,以解决那些使用Parallels的用户所经历的按键绑定问题。 Fusion会捕获虚拟机中的所有关键事件,除非我们按特殊的键序列从VM中逃逸。但是,我们仍然必须习惯采用基于Apple的键盘布局(没有退格键等)的一些怪异之处。除了那些事情,它确实是无缝的。