Convertendo a solução VS2012 para VS2010

127

Estou trabalhando no projeto VB com o VS 2012 e, após concluir, tento adicionar o projeto de instalação.

Não o encontrei (porque o Projeto de Instalação foi descontinuado após o VS2010), então mudei para o VS2010, mas o problema é que o projeto não será aberto e recebo esta mensagem:

O arquivo selecionado é um arquivo de solução, mas foi criado por uma versão mais recente deste aplicativo e não pode ser aberto.

Tentei este artigo: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 e tentei converter de 2012 para 2010, mas a mesma mensagem aparece.

HokaHelal
fonte
Por que você não apenas usar VS2010 para criar uma única configuração-project - tanto quanto eu me lembro de você não precisa projectos inlcude e pode adicionar os arquivos por si mesmo
Carsten
Ok, isso pode ser um trabalho em torno da ideia é sempre incluem a configuração com o projeto na mesma solução para fazer a compilação / implantação rápida
HokaHelal
1
Você tem sp1 no vs2010? Acho que você precisa do service pack para abrir os arquivos de projeto / solução de 2012.
Georgi Stoyanov

Respostas:

306

Eu também enfrentei o problema semelhante. Pesquisei no Google, mas não consegui encontrar a solução. Então, eu tentei por conta própria e aqui está a minha solução.

Abra seu arquivo de solução no bloco de notas. Faça 2 alterações

  1. Substitua "Format Version 12.00" por "Format Version 11.00" (sem aspas.)
  2. Substitua "# Visual Studio 2012" por "# Visual Studio 2010" (sem aspas).

Espero que isso ajude você também ..........

Bhavin
fonte
3
Existe uma desvantagem em fazer isso? Parece fácil demais para ser verdade.
kbeal2k
4
Não funcionou para mim, ainda mantinha que era incompatível?
David
3
Obrigado por esta dica! Funciona mesmo para fazer o downgrade de um projeto de API da Web do ASP.NET. Além de adaptar a versão do formato 12.00 para a versão de formato 11.00 no sln e ajustar o elemento TargetFrameworkVersion no csproj de 4.5> 4.0; Eu tinha que remover httpRuntime elemento no web.config e ajustar compilação atributo targetFramework em web.config de 4,5> 4.0
AardVark71
2
Fantástico, não posso acreditar que não há compatibilidade com versões anteriores.
Stephen Murby
1
Eu caí nessa armadilha usando o VS2013 - alterei o formato de volta para 11 e tudo estava bem novamente no VS2010 - obrigado!
Surfbutler
121

Apenas para elaborar a excelente resposta de Bhavin - a edição do arquivo de solução funciona, mas você ainda pode receber o erro incompatível (como David relatou) se tiver selecionado o .NET 4.5 como a versão padrão do .NET no seu projeto VS2012 e o ambiente do VS2010 não apoiar isso.

Para corrigir isso rapidamente, abra o arquivo .csproj do VS2012 em um editor de texto e altere a TargetFrameworkVersion para 4.0 (de 4.5). O VS2010 carregará com prazer a solução e os projetos "editados".

Você também precisará editar um arquivo app.config que tenha referências ao .NET 4.5 de maneira semelhante para permitir a execução em um ambiente .NET 4.0.

Rory Solley
fonte
5
Isso, juntamente com a resposta de Bhavin, funcionou perfeitamente. Obrigado a ambos.
Desaivv
2
Obrigado por esta dica! Funciona mesmo para fazer o downgrade de um projeto de API da Web do ASP.NET. Além de adaptar a versão do formato 12.00 para a versão de formato 11.00 no sln e ajustar o elemento TargetFrameworkVersion no csproj de 4.5> 4.0; Eu tinha que remover httpRuntime elemento no web.config e ajustar compilação atributo targetFramework em web.config de 4,5> 4.0
AardVark71
Além disso, você pode, como eu, ter que passar pelos arquivos .vcproj e alterar o conjunto de ferramentas da plataforma da v110 para a v100.
Xyon 9/09/14
2

Eu tive um problema semelhante e nenhuma das soluções acima funcionou, por isso fiquei com uma espera antiga que sempre funciona:

  1. Renomeie a pasta que contém o projeto
  2. Faça um novo projeto com o mesmo nome em 2010
  3. Difere as duas pastas e->
  4. Copie todos os arquivos de origem diretamente
  5. Ignorar bin / debug / release etc
  6. Diferencie o arquivo .csproj e copie sobre todas as linhas relevantes.
  7. Se o arquivo .sln tiver apenas um projeto, ignore-o. Se for complexo, também faça a diferença.

Isso quase sempre funciona se você gastou 10 minutos e não conseguiu.

Observe que, para problemas semelhantes com versões mais antigas (2008, 2005), geralmente é possível alterar a versão no .csproj e alterar a versão no .sln ou descartá-la, mas isso não parece funcionar para 2013 .

Wade Hatler
fonte
2

a solução mais simples é ..... abra seu site no vs2013 e vá para Debug-> WebsiteProperties (última opção) uma nova janela será aberta.

nessa janela, vá para a opção "Build" e altere a versão do framework .net de 4.5 para 4.0 ..... e selecione ok. [nota: esta etapa funcionará apenas se o seu projeto não tiver dependências com o vs2013 ...]

Agora abra seu site no vs2010

Rakeshyadvanshi
fonte
1

Abra o arquivo do projeto e não a solução. O projeto será convertido pelo Assistente e, após a conversão, quando você criar o projeto, uma nova solução será gerada como uma VS2010.

Michael Haephrati
fonte
1

A solução do VS2010 é suportada pelo VS2012. A solução do VS2012 não é suportada pelo VS2010 -> somente atualização unidirecional. O VS2012 não oferece suporte a projetos de instalação. Encontre aqui mais sobre a compatibilidade do VS2010 / VS2012: http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx

SomeWittyUsername
fonte
1
A leitura desse documento diz que EXISTEM coisas que funcionarão bem entre os dois - o que significa que você pode criar um projeto / solução no VS2012 e abri-lo sem problemas no VS2010. O documento indica, no entanto, que existem coisas que, se usadas em 2012, não permitirão a abertura em 2010. stackoverflow.com/questions/10902865/… é outra resposta boa e simples.
brazilianldsjaguar
Se você ler com atenção, verá uma pequena diferença: os projetos criados no VS2010 funcionam no VS2012, e não o contrário. "... você pode abrir um projeto que foi criado no Visual Studio 2010 SP1 ..."
Piotr Lewandowski
0

Solução simples que funcionou para mim.

  1. Instale o editor Vim para Windows.
  2. Abra a solução de projeto do VS 2012 usando o editor Vim e modifique a versão que visa a solução do Visual studio 10.
  3. Solução aberta com o Visual studio 2010 .. e continue com seu trabalho;)
Convidado
fonte
Por que o Vim e não apenas o bloco de notas?
Zac