È possibile installare Visual Studio 2012 fianco a fianco con Visual Studio 2010?


103

Visual Studio 2012 interferirà / danneggerà .NET 4 e / o Visual Studio 2010 se installati fianco a fianco sulla stessa istanza di Windows?


1
sì, entrambi funzionano, anche allo stesso tempo. Provai.
Eric Yin

3
Visual Studio può essere installato fianco a fianco, ma tieni presente che VS 2012 viene fornito con .NET 4.5, che sovrascrive .NET 4.0. Nessun problema a meno che non sia ancora necessario sviluppare per macchine .NET 4.0.
Vaccano

4
È ancora possibile sviluppare per macchine .NET 4.0. Devi solo sapere che, quando stai testando la tua applicazione .NET 4.0 sul tuo computer VS2012, testerai una versione diversa di .NET rispetto a un cliente che non ha mai installato .NET 4.5. Quindi prova su una macchina come quelle che il tuo cliente utilizzerà e starai bene.
John Saunders

ahhhh il lusso di un cliente che fornisce un utile ambiente di test! Buona fortuna con questo: P
JumpingJezza

11
è un errore pensare che .NET 4.5 sia completamente compatibile con .NET 4.0, non lo è, e infatti nel nostro caso ha rotto alcune delle nostre soluzioni.
Stefan Z Camilleri

Risposte:


32

Come ha detto Reigo, sì. Ecco il collegamento alla pagina ufficiale di Microsoft con le informazioni fornite da Reigo e ulteriori dettagli: http://msdn.microsoft.com/en-us/library/ms246609%28v=VS.110%29.aspx


36
"Può" essere installato a lato, il che significa che l'installer verrà eseguito correttamente. Tuttavia, non dovresti farlo a meno che tu non voglia trascorrere due giorni a disinstallare Visual Studio, .NET 4.5, riparare il tuo framework .NET 4.0 (che viene modificato direttamente dall'installazione beta 4.5) e disinstallare la pletora di strumenti di SQL Server 2012 uno per uno. Tutto dopo che il codice 4.0 precedentemente funzionante inizia a bombardare con un errore "Riferimento oggetto" su una riga che contiene solo un commento.
mclark1129

8
Questo è molto molto pericoloso se prevedi di continuare a sviluppare per .net 4.0. Questo perché la macchina di sviluppo utilizzerà i binari .net 4.5 (perché .net 4.5 è un aggiornamento sul posto). Questi file binari hanno correzioni di bug che verranno "nascoste" durante il debug di destinazione .net 4.0. Ma quando si distribuisce su una macchina che esegue solo .net 4.0 (cioè Windows xp), questi bug non vengono corretti per l'utente . Vedi questo post per maggiori dettagli: social.msdn.microsoft.com/Forums/en-US/wpf/thread/…
Vaccano

2
Provalo in una macchina virtuale. Posso confermare i problemi descritti da Mike C. Ho pensato che VS2012 sarebbe stato sicuro da provare. Ho riscontrato così tanti fastidiosi problemi che ho finito per non fidarmi della mia macchina e ho reinstallato Windows.
kenchilada

2
Questi problemi esistono ancora con VS 2012 RTM?
Tim Friesen

1
@TimFriesen - Il problema che ho descritto è ancora in RTM. È un difetto di progettazione con il piano di aggiornamento "sul posto" che Microsoft ha adottato per .NET 4.5.
Vaccano

30

La versione .net 4.5 è un aggiornamento sul posto.

Ciò significa che i binari per .net 4.0 verranno SOSTITUITI dai binari per .net 4.5 .

Microsoft ha tentato di mitigare i problemi che ciò causa creando una funzionalità "Target .net 4.0". Ma questo è molto diverso dal targeting delle versioni precedenti di .net (che sono state fianco a fianco da .net 2.0).

Poiché si tratta di un aggiornamento sul posto, "Target .net 4.0" non può realmente targetizzarlo. Il meglio che possono fare è provare a rimuovere manualmente alcune "funzionalità". Lo hanno fatto (Scott Hanselman aveva un post sul blog che lo trattava).

Ma non lasciarti ingannare dal pensare che stai davvero usando .net 4.0. Eventuali bug corretti da .net 4.5 verranno corretti sulla macchina di sviluppo e non per gli utenti .net 4.0.

Quindi, se stai sviluppando un'applicazione "mirata a .net 4.0" e hai installato .net 4.5, sei a rischio. Se usi accidentalmente un bug corretto, non si interromperà durante il debug.

Quando distribuisci la tua app su una macchina che esegue solo .net 4.0 (cioè Windows XP), questi bug non vengono corretti per il tuo utente .

A tutti gli effetti, questi bug corretti sono ora "bug nascosti" (per gli sviluppatori che devono ancora scegliere come target .net 4.0.

La parte migliore è che non importa se usi VS 2010 o VS 2012. Una volta installato .net 4.5, i bug sono nascosti.

Vedi questo post per maggiori dettagli: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/


Spiacenti, ma questo nasconde il punto del problema. Il problema esiste solo se dipendi dai tuoi test sulla tua macchina di sviluppo per dirti quando la tua applicazione funziona. Se puoi testare nell'ambiente che i tuoi clienti useranno (e penso che la maggior parte degli sviluppatori si trovi in ​​questa posizione), allora non hai questo problema. Se hai una seconda macchina su cui testare, inclusa una macchina virtuale, questo non è un problema.
John Saunders

4
@JohnSaunders - Abbiamo un intero reparto QA che esegue i test sulla nostra piattaforma di destinazione. Ma molti studi hanno dimostrato che i diversi tipi di test individuano diversi tipi di bug. Le cose che cerco durante il debug non sono dello stesso livello di bug che il mio team QA troverà. Ancora una volta, i miei test automatizzati non noteranno tutte le cose che noterò durante il debug. Infine, scrivere una funzionalità che dipende da un bug che non puoi risolvere costa $ $ $. Quando il bug viene trovato, più è lontano dalla mia macchina di sviluppo più costa. (Soprattutto se ho "finito" il lungometraggio.)
Vaccano

"Il problema esiste solo se dipendi dai test sulla tua macchina di sviluppo per sapere quando funziona la tua applicazione" - Stai insinuando che non testerai il tuo codice sulla tua macchina di sviluppo? -- Questo è un vero problema. Soprattutto per chi non lo sa. (E poiché Microsoft non lo annuncerà pubblicamente, sono molti molti sviluppatori.)
Vaccano

I test che eseguo sulla mia macchina di sviluppo non determinano se il mio codice funziona o meno. Determinano solo la probabilità che il reparto QA trovi i miei bug nei primi cinque minuti o meno. Provo sulla mia macchina per ridurre l'imbarazzo. Sono gli unit test automatizzati nelle build e i veri test di QA che determinano se il mio codice viene spedito o meno ai clienti. Questi test includeranno test in un ambiente come quello dei clienti. In questo caso, ciò includerebbe Windows XP e .NET 4.0.
John Saunders

Mi dispiace, ma se hai un dipartimento di controllo qualità, non vedo affatto il tuo problema. Non riesco a immaginare che ci siano così tanti bug di .NET 4.0 corretti da .NET 4.5 che ti costerebbe molto denaro se ti capitasse di scrivere codice dipendente da quei bug. Se pensi di avere questo problema, prova presto e spesso su Windows XP e .NET 4.0. Sono quegli sviluppatori che non vedranno mai i bug ad essere maggiormente a rischio.
John Saunders

10

Sono stato bruciato gravemente dalle versioni beta di VS, non ho mai avuto un brutto problema a disinstallarle. Microsoft fa un buon software ma l'installatore sembra essere sempre l'ultima cosa di cui ci si prende cura. I problemi che ho riscontrato sono la disinstallazione che non rimuove i componenti che poi rovina l'edizione al dettaglio e il programma di installazione non conta su altri prodotti Microsoft installati e distrugge la loro configurazione.

Questo è molto prima di una beta, non installarlo su una macchina che ti serve per portare a termine il tuo lavoro. Che praticamente preclude l'installazione di VS2008. VM va bene ovviamente.


2
Ho appena pubblicato qualcosa nei forum [ social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/… perché sembra che l'installazione sostituisca gli assembly .NET Framework 4.0 (pensavo di essere stato pazzo ma mi sono aperto System.Core in Reflector ha rivelato che mancava System.Runtime.CompilerServices.ExtensionAttribute). In breve, stai attento là fuori
Damian

@Damian: È un problema come lo era con 3.0 e 3.5: entrambi essenzialmente erano solo funzionalità aggiuntive basate sul runtime 2.0 ma entrambi venivano forniti con un service pack 2.0 (che poteva essere scaricato separatamente per installazioni solo 2.0) che in effetti è cambiato alcune cose sotto il cofano. Guardando 4.0 è anche peggio: Microsoft ha appena silenziosamente distribuito alcune nuove versioni tramite Windows Update - l'originale 4.0.30319.1 è stato sostituito con .225, .235 e .237 - ognuna delle quali risolve e introduce bug o almeno un comportamento diverso in aree specifiche.
Springy76

7

Ho installato l'RC ieri e ho trovato quanto segue:

Causa il blocco di VS2010 durante l'esecuzione di unit test (questo può essere risolto utilizzando 2012 o mstest sulla riga di comando per eseguire i test unitari)

Fa sì che VS2010 non sia in grado di compilare progetti C ++, fallendo con un errore di collegamento . Anche dopo aver disinstallato VS2012 RC, questo problema persiste ... quindi sconsiglio vivamente di installarlo in questo momento


1
Ho avuto lo stesso problema con l'esecuzione di unit test in VS 2010 dopo aver installato VS 2012 RC. Per risolvere questo problema, elimina testimpactdata.sdf dalla radice della soluzione e attiva Test Impact nelle impostazioni del test.
Sergey Sirotkin

2
Mi sono imbattuto anche nel problema di test che stai descrivendo. La soluzione che ho trovato è stata l'aggiornamento a Visual Studio 2010 Service Pack 1. Apparentemente questo è un problema nel 2010, non nel 2012, ma è stato attivato solo installando la release candidate del 2012. Dovresti essere in grado di installare il service pack anche dopo l'installazione di VS 2012 e ottenere comunque la risoluzione del problema. Non faccio molto con C ++ in questi giorni, quindi non posso commentare se anche questo è stato risolto. VS 2010 SP1 può essere trovato qui: microsoft.com/en-us/download/details.aspx?id=23691
rbwhitaker

6

Quindi leggendo tutte le risposte, si arriva a questo:

  • Dopo aver installato VS2012, .NET 4.5 sovrascriverà .NET 4.0.
  • È ancora possibile utilizzare VS2010, ma verrà compilato con .NET 4.5 (poiché .NET 4.0 è stato sostituito).
  • Pericolo: non è più possibile distribuire in modo sicuro i progetti su macchine che eseguono .NET 4.0.

5

Sì, puoi, ma è sempre consigliabile installare prima le versioni precedenti. E se desideri aprire il progetto Visual Studio 2010 in VS 11 e poi di nuovo in un secondo momento, assicurati di non utilizzare le nuove funzionalità di Visual Studio 11


2

Può essere installato fianco a fianco ma non è nemmeno beta ..! Non aspettarti che funzioni davvero!

Vedi questo problema che stiamo avendo, e questo menzionato da Damian in un altro commento.


2

L'ho fatto ieri e l'ho disinstallato oggi ...

A quanto pare, qualcosa è andato storto perché alcune app che ho costruito prima hanno iniziato a dare strani errori riguardanti "impossibile caricare il modulo bla bla bla ...", quindi ho disinstallato tutto, ho forzato la reinstallazione di .NET Framework 4.0 e ora tutto funziona di nuovo bene!


2

Può sicuramente causare problemi. Per esempio:

In .NET 4.0, ogni volta che si tenta di salvare un valore enum in LINQ-2-Entities, jup, lo hai indovinato: ERRORE quando hai 4.0 GRANDE SUCCESSO quando si lavora su una macchina con 4.5 installato (sì, anche se l'assembly è destinato al client 4.0 profilo!)

Quindi fai attenzione quando usi questa nuova buona funzionalità che non ha alcuna compatibilità inversa.


2

Funziona bene su macchine a 32 bit installate fianco a fianco, ma a volte è possibile ottenere un errore ma reinstallando o disinstallando l'installazione precedente può essere installato. L'ho fatto durante la metà del progetto e non ha effetto anche sul lavoro precedente.


0

Come è stato affermato, ufficialmente si può ma può causare problemi.

Se vuoi eseguire Visual Studio 2012, penso che il modo più sicuro sia usare WMWare VMplayer gratuito e installare Windows 8 su di esso, quindi installare Visual Studio 2012 lì. Hai bisogno di almeno 4 GB di RAM ma funziona meglio con 8 GB o più. È quello che faccio comunque.


Puoi essere più specifico sui problemi a cui ti riferisci?
John Saunders

0

Il mio problema principale è stato che non è più possibile eseguire unit test da VS2010 dopo aver installato VS2012 RTM! Si blocca per sempre. Non posso nemmeno fermarlo.

Quindi per ora direi, MS l'ha fatto di nuovo, side-by-side non funziona.

Penso che ciò possa essere dovuto al fatto che si tratta di un'installazione VS2010 senza SP1 applicato.


Puoi essere specifico su quali "test da VS2010" ti riferisci?
John Saunders

Ho anche questo problema: il tentativo di esaminare qualsiasi output di test risulta in un blocco riproducibile sia in vs2010 che in vs2013 (tutte le ultime patch / aggiornamenti). mi aspetto di meglio da te microsoft.
fusi

0

La buona notizia è che l'installazione costituisce un punto di ripristino del sistema. Il backup del disco rigido esterno è la soluzione a questo fino a quando non esce una versione reale o non si avvia un progetto da zero.


0

Ho notato che le soluzioni Web e Loadtesting sembrano non funzionanti dopo l'installazione di VS2012. Ho preso delle copie e aggiornato al 2012 e funzionano bene. È solo che VS2010 non può più avviare una corsa di prova.


-1

Sì, puoi anche aprire facilmente un progetto del 2012 nel 2010 senza problemi. fintanto che utilizza ancora .net 4.0.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.