Eventuali insidie ​​nello sviluppo di codice C#/.NET in una VM in esecuzione su un Mac?

StackOverflow https://stackoverflow.com/questions/28268

  •  09-06-2019
  •  | 
  •  

Domanda

Sto valutando l'acquisto di un Apple MacBook Pro.Esistono insidie ​​​​nello sviluppo di codice C#/.NET in una macchina virtuale in esecuzione su un Mac?

Inoltre, è meglio eseguire Vista o XP Pro per questo scopo?

È stato utile?

Soluzione

Non posso raccontarti alcuna esperienza specifica poiché non ho un Mac, ma volevo sottolineare che c'era un fantastico episodio del podcast DeepFriedBytes che discuteva proprio di questo argomento.Mi ha fatto venire voglia di provarlo.Discutono dei pro e dei contro di seguire questa strada: vale la pena ascoltarli, IMO, se questo è qualcosa che stai considerando:

Episodio 5:Sviluppo di software .NET su un Mac

Altri suggerimenti

Sto sviluppando in una macchina virtuale Parallels con Windows Server 2008 e nel complesso è fantastico.Consiglio vivamente il sistema operativo server rispetto a Vista o XP se stai sviluppando web.

A parte il problema della tastiera, l'unico problema con il MacBook Pro è che la ventola è estremamente rumorosa e fastidiosa e, nella mia esperienza, l'esecuzione di una macchina virtuale tende a riscaldare il laptop abbastanza da attivarlo con relativa frequenza.Tuttavia, ci sono utilità sul mercato come Coolbook per impedirne l'avvio.

XP Pro è decisamente migliore, a meno che tu non abbia un Mac davvero robusto.

Per quanto riguarda l'altra tua domanda, no, non ci sono insidie, oltre alle prestazioni.Preferisco utilizzare un vero PC per eseguire la codifica vera e propria, utilizzando le VM per i test.Chiaramente, questa non è un'opzione per te all'interno di OSX.Tuttavia, hai la possibilità di Boot Camp se le prestazioni della VM diventano un problema per te.Ciò ti consentirà anche di eseguire Vista senza alcun degrado delle prestazioni.

Tieni presente che le due soluzioni di macchina virtuale per Mac sono abbastanza immature.Li ho usati entrambi e, sebbene siano perfettamente adeguati per lo sviluppo, li ho trovati instabili, a vari livelli.Parallels sembra per lo più stabile, ma si blocca e sembra avere perdite di memoria;VMWare è più robusto e riduce maggiormente le prestazioni del sistema per impostazione predefinita (sembra anche funzionare leggermente meglio di Parallels), ma può avere seri problemi grafici a seconda della configurazione, in particolare se si tenta di utilizzare la modalità Unity.

Sto sviluppando app .NET in una VM Vista con VMWare Fusion.Ovviamente hai bisogno di molta memoria, ma a parte non avere Aero, non ho ancora riscontrato alcun problema.

Sviluppo sul mio Macbook (non Pro) utilizzando VMWare Fusion e WinXP.Per la maggior parte, è un'esperienza molto positiva.Assegno 1 GB di memoria, dei miei 4 GB, alla VM ed è piuttosto veloce.

L'unico grande problema che ho riscontrato è lo spazio su disco.Se installi un'installazione completa di VS2008 e altri strumenti, puoi consumare rapidamente 30-40 GB di disco.Se inizi a utilizzare la funzionalità snapshot o esegui più VM, ne consumerai ancora di più.Poiché utilizzo il mio laptop come macchina principale e ho molti dati e applicazioni sul lato OSX, ho esaurito lo spazio su disco con l'unità standard da 120 GB.

Quindi, se tieni presente il problema dello spazio su disco, penso che troverai l'esperienza abbastanza soddisfacente.

Avresti i minimi problemi con l'esecuzione di Windows non in una VM, ma per lo sviluppo la tua esperienza dovrebbe essere quasi perfetta con una VM.Entrambi ti daranno presumibilmente meno problemi di MonoDevelop, che è un CLR, un compilatore e una reimplementazione del framework completamente diversi.

  1. Io uso Parallels.Ho usato Vista per 4 mesi poi sono passato a XP.Preferisco XP perché è più veloce.

  2. Le associazioni dei tasti sono bizzarre.L'utilizzo dei tasti funzione durante il debug nell'XP ospitato attiverà eventi in OS X, facendoti uscire di fatto.

  3. Ho impostato 3 "spazi".Uno per OS X, uno per XP VM e l'ultimo per un RDC sul mio desktop.QUESTO È BRILLANTEMENTE UTILE.Non posso vivere senza spazi adesso.Questa tecnica ha effettivamente ucciso il mio desiderio di un secondo monitor.

  4. Come ha detto Jason, tutti i file archiviati sulla partizione OS X verranno visti come una risorsa di rete per la VM XP/Vista.Quindi provare a eseguire EXE o archiviare radici web lì causa problemi di fiducia.A Studio non piace che le radici Web del progetto si trovino su condivisioni di rete.

pace|rugiada

http://dewde.com

Vorrei esaminare il VMware Fusion 2 Beta per aggirare le stranezze con le associazioni dei tasti sperimentate da coloro che utilizzano Parallels.Fusion catturerà tutti gli eventi chiave all'interno della macchina virtuale a meno che non si premi una sequenza di tasti speciale per uscire dalla VM.Dovrai, tuttavia, ancora abituarti ad alcune delle stranezze di un layout di tastiera basato su Apple (nessun backspace, ecc.).A parte queste cose, è davvero abbastanza fluido.

Probabilmente è meglio non eseguire Vista in una VM.Soprattutto se vuoi che l'interfaccia utente Aero sia attivata.Le macchine virtuali non sono molto brave con la grafica avanzata, quindi probabilmente vorrai eseguire XP o Vista in modalità classica.

Non proprio, dovrebbe funzionare bene.Il tuo ambiente di sviluppo sarà solo un po' più lento... ma secondo la mia esperienza, non è poi così male.Non lo vorrei come macchina principale, ma è perfettamente utilizzabile.

Non penso che il consiglio di Kibbee sia corretto.VMware Fusion (per Mac) attualmente supporta fino a DirectX9.L'integrazione con Vista è molto buona.In caso di problemi, puoi eseguire l'avvio nativo nella tua macchina virtuale (se l'hai configurata come partizione BootCamp sul Mac).

Non vedo alcun problema con questa configurazione, anche se non lo farei da solo.

L'unica cosa che potrebbe essere un problema per te è il layout della tastiera.La tastiera del Mac ha un layout diverso rispetto alle tastiere del PC.(Soprattutto su un Mac tedesco con Windows tedesco, alcuni caratteri potrebbero essere un po' più difficili da digitare).Dovrai imparare di nuovo alcune parti della tastiera!

Faccio sviluppo asp.net su un MacBook Pro, eseguendo VMWare Fusion e Vista x64.Mi va benissimo.

Come ha detto qualcun altro, le combinazioni di tasti sono un po' strane.Di solito utilizzo una tastiera esterna di dimensioni standard, il che aiuta molto.

Per la virtualizzazione, proverei Sun Scatola virtuale.Lo uso in Windows XP e Windows Vista e funziona benissimo, mi aspetto che le prestazioni siano simili se eseguito su un Mac.

Per quanto riguarda il sistema operativo da eseguire, resterei con Windows XP Pro.Non avrai bisogno di dedicare tanta RAM alla VM come faresti se eseguissi Vista.

Solo per citare un'alternativa a VMWare Fusion, sto usando Parallels come VM.Finora le prestazioni non sono state un problema quando ho assegnato alla VM 1 GiB di memoria principale.Prima di decidere su una VM, suggerirei di testarle tutte in modo approfondito.Sono abbastanza soddisfatto di Parallels ma non sono sicuro che non utilizzerò VMWare Fusion la prossima volta.

Contrariamente a quanto detto da Mo, in realtà trovo il layout della tastiera del Mac molto migliore rispetto al layout di Windows, utilizzando una rilegatura dei tasti tedesca.

Sto sviluppando applicazioni .net utilizzando XP Pro in VMWare Fusion e non riscontro alcun problema.Non riscontro nemmeno alcun problema di prestazioni poiché l'hardware del MacBook Pro è molto migliore dell'hardware del mio laptop precedente.

Ho scoperto che c'erano alcune cose con cui dovevo armeggiare per rendere l'esperienza uguale a quella del mio laptop precedente.

Ho dovuto installare Chiavi diesis per poter accedere al tasto destro del mouse/menu contestuale sulla tastiera, che utilizzo spesso in VS.Mi sono anche assicurato che alcune scorciatoie da tastiera e mouse del sistema operativo Mac non fossero registrate in VMWare Fusion, per evitare che accadessero cose strane.

Ho appena notato che la mia VM può utilizzare solo 1 GB di memoria, forse dovrei aumentarlo leggermente.Ci sono post là fuori che avvertono sull'assegnazione di troppa memoria a una VM.

Una cosa suggerita per migliorare le prestazioni è eseguire la VM su un altro mandrino.Non ho ancora trovato un disco portatile da 7200 giri/min dal prezzo adeguato, quindi non posso commentare questo.

[Modifica] Sapevo di averlo visto da qualche parte, Configurazione di macchine virtuali VMWare Windows Server 2008 per .Net - Questo è qualcosa che avevo intenzione di provare, solo che non ci sono ancora riuscito.(Troppo tempo passato a leggere CrackOverflow)

Sto sviluppando .NET utilizzando Parallels ormai da più di un anno, utilizzando WinXP Pro e non posso lamentarmi, funziona velocemente (proprio come su una macchina normale) e ottengo il meglio di tutti i mondi --> a suggerimento, usa gli spazi, così avrai Windows in esecuzione su una scrivania e il tuo Mac sull'altra, e con la semplice pressione di un tasto ti sposti da un lato all'altro, in modo impeccabile!

Per quanto riguarda Bootcamp, a dire il vero ci ho provato per un po', ma dover riavviare per accedere alle mie app su Mac dopo un po' è diventato fastidioso.Solo un consiglio:se scegli questa opzione, dai un'occhiata a MacDrive, non puoi sbagliare, poiché manterrai l'accesso alle partizioni del tuo Mac.

Ci sono stato, l'ho fatto...e un po' mi piace ;)...buona fortuna con la transizione!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top