O Visual Studio 2012 pode ser instalado lado a lado com o Visual Studio 2010?

103

O Visual Studio 2012 interferirá / interromperá o .NET 4 e / ou Visual Studio 2010 se instalado lado a lado na mesma instância do Windows?

Chris Pietschmann
fonte
1
sim, ambos funcionam, mesmo ao mesmo tempo. Eu tentei.
Eric Yin
3
O Visual Studio pode ser instalado lado a lado, mas perceba que o VS 2012 vem com .NET 4.5, que sobrescreve o .NET 4.0. Não é um problema, a menos que você ainda precise desenvolver para máquinas .NET 4.0.
Vaccano
4
Você ainda pode desenvolver para máquinas .NET 4.0. Você só precisa saber que, ao testar seu aplicativo .NET 4.0 em sua máquina VS2012, você testará uma versão diferente do .NET de um cliente que nunca instalou o .NET 4.5. Portanto, teste em uma máquina como as que seu cliente usará e você ficará bem.
John Saunders
ahhhh o luxo de um cliente que fornece um ambiente de teste útil! Boa sorte com isso: P
JumpingJezza
11
É um erro pensar que o .NET 4.5 é totalmente compatível com o .NET 4.0, não é, e de fato, em nosso caso, ele quebrou algumas de nossas soluções.
Stefan Z Camilleri

Respostas:

32

Como Reigo disse, sim. Este é o link para a página oficial da Microsoft com as informações fornecidas pelo Reigo e mais detalhes: http://msdn.microsoft.com/en-us/library/ms246609%28v=VS.110%29.aspx

Niklas Söderberg
fonte
36
Ele "pode" ser instalado ao lado, o que significa que o instalador será executado com êxito. No entanto, você não deve fazer isso a menos que queira gastar dois dias desinstalando o Visual Studio, .NET 4.5, reparando sua estrutura .NET 4.0 (que FAZ diretamente modificada pela instalação beta 4.5) e desinstalando uma infinidade de ferramentas do SQL Server 2012 um por um. Tudo isso depois que seu código 4.0 anteriormente funcionando começa a bombardear com um erro de "Referência de objeto" em uma linha que contém apenas um comentário.
mclark1129
8
Isso é muito perigoso se você planeja continuar a desenvolver para .net 4.0. Isso ocorre porque sua máquina de desenvolvimento usará os binários .net 4.5 (porque .net 4.5 é uma atualização in-loco). Esses binários têm correções de bugs que ficarão "ocultos" de você durante a depuração direcionada ao .net 4.0. Mas quando você implanta em uma máquina rodando apenas .net 4.0 (ou seja, windows xp), esses bugs não são corrigidos para o seu usuário . Veja esta postagem para mais detalhes: social.msdn.microsoft.com/Forums/en-US/wpf/thread/…
Vaccano
2
Experimente em uma máquina virtual. Posso confirmar os problemas que Mike C descreveu. Achei que o VS2012 seria seguro para tentar. Tive tantos problemas irritantes que acabei não confiando na minha máquina e reinstalei o Windows.
kenchilada
2
Esses problemas ainda existem com o VS 2012 RTM?
Tim Friesen
1
@TimFriesen - O problema que descrevi ainda está no RTM. É uma falha de design com o plano de atualização "in-loco" que a Microsoft adotou para o .NET 4.5.
Vaccano
30

A versão .net 4.5 é uma atualização local.

Isso significa que os binários para .net 4.0 serão SUBSTITUÍDOS pelos binários para .net 4.5 .

A Microsoft tentou atenuar os problemas que isso causa criando um recurso "Target .net 4.0". Mas isso é muito diferente das versões anteriores do .net (que estão lado a lado desde .net 2.0).

Por ser uma atualização local, o "Target .net 4.0" não pode realmente direcioná-la. O melhor que podem fazer é tentar remover manualmente alguns "recursos". Eles fizeram isso (Scott Hanselman postou em um blog cobrindo isso).

Mas não se deixe enganar pensando que está realmente usando .net 4.0. Quaisquer bugs corrigidos pelo .net 4.5 serão corrigidos na sua máquina de desenvolvimento e não para os usuários do .net 4.0.

Portanto, se você estiver desenvolvendo um aplicativo "visando .net 4.0" e tiver o .net 4.5 instalado, você estará em risco. Se você acidentalmente usar um bug corrigido, ele não será interrompido durante a depuração.

Quando você implanta seu aplicativo em uma máquina que executa apenas .net 4.0 (ou seja, windows xp), esses bugs não são corrigidos para o usuário .

Para todos os efeitos, esses bugs corrigidos são agora "Bugs ocultos" (para desenvolvedores que ainda precisam ter como alvo o .net 4.0.

A melhor parte é que não importa se você usa o VS 2010 ou o VS 2012. Depois que o .net 4.5 é instalado, os bugs ficam ocultos.

Consulte esta postagem para obter mais detalhes: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/

Vaccano
fonte
Desculpe, mas isso está escondendo o ponto do problema. O problema só existe se você depender de seus testes em sua máquina de desenvolvimento para informar quando seu aplicativo funciona. Se você puder testar no ambiente que seus clientes usarão (e acho que a maioria dos desenvolvedores está nessa posição), você não terá esse problema. Se você tiver uma segunda máquina para testar, incluindo uma máquina virtual, isso não é um problema.
John Saunders
4
@JohnSaunders - Temos todo um departamento de QA que testa nossa plataforma de destino. Mas muitos estudos mostraram que os diferentes tipos de teste detectam diferentes tipos de bugs. As coisas que procuro durante a depuração não têm o mesmo nível de bugs que minha equipe de controle de qualidade encontrará. Novamente, meus testes automatizados não notarão todas as coisas que notarei durante a depuração. E, por último, escrever um recurso que depende de um bug que você não pode consertar custa $$$. Quando o bug é encontrado, quanto mais longe de minha máquina de desenvolvimento, mais ele custa. (Especialmente se eu tiver "terminado" o recurso.)
Vaccano
"O problema só existe se você depender de seus testes em sua máquina de desenvolvimento para informar quando seu aplicativo funciona" - Você está insinuando que não testa seu código em sua máquina de desenvolvimento? -- Esse é um problema real. Principalmente para quem não sabe. (E já que a Microsoft não vai anunciar publicamente, isso significa muitos desenvolvedores.)
Vaccano
Os testes que realizo em minha máquina de desenvolvimento não determinam se meu código funciona ou não. Eles apenas determinam a probabilidade de o departamento de QA encontrar meus bugs nos primeiros cinco minutos ou não. Eu testo na minha própria máquina para reduzir o constrangimento. São os testes de unidade automatizados nas compilações e os testes reais de QA que determinam se meu código é enviado ou não aos clientes. Esses testes incluirão testes em um ambiente como o dos clientes. Nesse caso, isso incluiria o Windows XP e o .NET 4.0.
John Saunders
Sinto muito, mas se você tem um departamento de controle de qualidade, então não vejo o seu problema. Não consigo imaginar que existam tantos bugs do .NET 4.0 corrigidos pelo .NET 4.5 que custaria muito dinheiro se você escrevesse um código dependente desses bugs. Se você acha que terá esse problema, teste o quanto antes no Windows XP e .NET 4.0. São os desenvolvedores que nunca verão os bugs que correm maior risco.
John Saunders
10

Eu fui gravemente queimado por betas do VS, nunca tive um problema desagradável para desinstalá-los. A Microsoft faz software de qualidade, mas o instalador parece ser sempre a última coisa a ser feita. Os problemas que tenho visto são a desinstalação não removendo componentes que então bagunçam a edição de varejo e o instalador não contando com outros produtos Microsoft instalados e destruindo sua configuração.

Este é muito anterior a um beta, não o instale em uma máquina que você precisa para fazer seu trabalho. O que praticamente impede a instalação do VS2008. VM está bem, claro.

Hans Passant
fonte
2
Acabei de postar algo nos fóruns [ social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/… porque parece que a instalação substitui os assemblies do .NET Framework 4.0 (pensei que devia estar louco, mas abrindo System.Core no Reflector revelou que System.Runtime.CompilerServices.ExtensionAttribute estava faltando). Resumindo, tome cuidado
Damian,
@Damian: É o problema com o 3.0 e o 3.5: ambos eram essencialmente apenas recursos adicionais baseados no runtime 2.0, mas ambos vinham com um service pack 2.0 (que poderia ser baixado separadamente para instalações somente 2.0) que realmente mudou algumas coisas sob o capô. Olhando para o 4.0, é ainda pior: a Microsoft apenas distribuiu silenciosamente algumas novas versões através do Windows Update - o 4.0.30319.1 original foi substituído por .225, .235 e .237 - cada um deles corrigindo e introduzindo bugs ou pelo menos um comportamento diferente no áreas específicas.
springy76
7

Eu instalei o RC ontem e encontrei o seguinte:

Faz com que o VS2010 congele ao executar testes de unidade (isso pode ser contornado usando 2012 ou mstest na linha de comando para executar seus testes de unidade)

Isso faz com que o VS2010 não consiga compilar projetos C ++, falhando com um erro de link . Mesmo depois de desinstalar o VS2012 RC, este problema ainda persiste ... então eu aconselho fortemente a não instalá-lo agora

Orion Edwards
fonte
1
Tive o mesmo problema ao executar testes de unidade no VS 2010 depois de instalar o VS 2012 RC. Para corrigir isso, exclua testimpactdata.sdf da raiz de sua solução e ative Test Impact nas configurações de teste.
Sergey Sirotkin
2
Também encontrei o problema de teste que você está descrevendo. A solução que encontrei foi atualizar para o Visual Studio 2010 Service Pack 1. Aparentemente, isso é um problema em 2010, não em 2012, mas é apenas acionado pela instalação do candidato a lançamento de 2012. Você deve conseguir instalar o service pack mesmo após a instalação do VS 2012 e ainda assim consertar o problema. Não faço muito com C ++ atualmente, então não posso comentar se isso também foi corrigido. VS 2010 SP1 pode ser encontrado aqui: microsoft.com/en-us/download/details.aspx?id=23691
rbwhitaker
6

Então, lendo todas as respostas, tudo se resume a:

  • Depois de instalar o VS2012, o .NET 4.5 substituirá o .NET 4.0.
  • Você ainda pode usar o VS2010, mas ele irá compilar no .NET 4.5 (já que o .NET 4.0 foi substituído).
  • Perigo: você não pode mais implantar com segurança seus projetos em máquinas que executam .NET 4.0.
Jenny O'Reilly
fonte
5

Sim, você pode, mas é sempre recomendado instalar as versões anteriores primeiro. E se você deseja abrir o projeto do Visual Studio 2010 no VS 11 e depois voltar novamente, certifique-se de não usar os novos recursos do Visual Studio 11

Reigo Hein
fonte
2

Pode ser instalado lado a lado, mas não é nem beta ..! Não espere que realmente funcione!

Veja este problema que estamos tendo, e isso mencionado por Damian em outro comentário.

Orelhas de cachorro
fonte
2

Eu fiz isso ontem e desinstalei hoje ...

Aparentemente, algo deu errado porque alguns aplicativos que eu construí antes começaram a dar erros estranhos de "não foi possível carregar o módulo bla bla bla ...", então desinstalei tudo, forcei a reinstalação do .NET Framework 4.0 e agora tudo funciona bem de novo!

Pedro Lamas
fonte
2

Definitivamente, pode causar problemas. Por exemplo:

No .NET 4.0, sempre que alguém tenta salvar um valor enum em LINQ-2-Entities, jup, você adivinhou: ERROR when you have 4.0 GREAT SUCCESS ao trabalhar em uma máquina com 4.5 instalado (sim, embora o assembly seja direcionado ao cliente 4.0 perfil!)

Portanto, preste atenção ao usar esse novo recurso bom que não tem compatibilidade reversa.

Rvcl
fonte
2

Ele funciona bem em máquinas de 32 bits instalando lado a lado, mas às vezes você pode obter um erro, mas reinstalar ou desinstalar a instalação anterior pode ser instalado. Eu fiz isso no meio do projeto e não afetou o trabalho anterior também.

Chandrabhan Gurjar
fonte
0

Como foi dito, oficialmente você pode, mas pode causar problemas.

Se você deseja executar o Visual Studio 2012, acho que a maneira mais segura é usar o WMWare VMplayer gratuito e instalar o Windows 8 nele e depois instalar o Visual Studio 2012 nele. Você precisa de pelo menos 4 GB de RAM, mas funciona melhor com 8 GB ou mais. Isso é o que eu faço de qualquer maneira.

Adam Mendoza
fonte
Você pode ser mais específico sobre a quais problemas está se referindo?
John Saunders
0

Meu principal problema é que não é mais possível executar testes de unidade do VS2010 após instalar o VS2012 RTM! Simplesmente trava para sempre. Não consigo nem parar.

Por enquanto, eu diria que o MS fez isso de novo, lado a lado não funciona.

Acho que isso pode ser devido a esta ser uma instalação do VS2010 sem SP1 aplicado.

Nietras
fonte
Você pode ser específico sobre a que "testes do VS2010" está se referindo?
John Saunders
Eu também tenho esse problema - tentar olhar para qualquer resultado de saída de teste em um travamento reproduzível no vs2010 e no vs2013 (todos os patches / atualizações mais recentes). Espero melhor de você, microsoft.
fusi
0

A boa notícia é que a instalação cria um ponto de restauração do sistema. Backup de disco rígido externo é a solução para isso até que uma versão real seja lançada ou você esteja começando um projeto do zero.

MvcCmsJon
fonte
0

Percebi que as soluções Web & Loadtesting parecem quebradas após a instalação do VS2012. Tirou cópias e atualizou para 2012 e eles funcionam bem. É que o VS2010 não pode mais iniciar um teste.

Big Ian
fonte
-1

Sim, você também pode abrir facilmente um projeto de 2012 a 2010 sem problemas. contanto que ainda esteja usando .net 4.0.

JGilmartin
fonte