Como é que se converta uma solução Visual Studio .NET 2008 para o Visual Studio .NET 2005?
-
06-07-2019 - |
Pergunta
Suponha que uma solução contém apenas as classes e que essas classes são todos escritos com as especificações .NET 2.0. Se essa solução foram para ser aberto, convertidos e salvos no Visual Studio 2008, seria possível reabrir a solução mais tarde no Visual Studio 2005 com algumas modificações mínimas para o arquivo sln?
Como seria um vai fazer sobre isso?
Existe uma ferramenta que vai "para baixo convertido" arquivos .sln 2008-2005, se todas as classes contidas dentro da solução já estão escritas as especificações .NET 2.0?
Solução
Uusally, a única coisa que você precisa fazer com arquivos .sln é mudar o número da versão no topo do arquivo.
Os ficheiros do projecto CS também será quase OK, e se eles não estão, é possível ajustá-los para que eles sejam bem com ambos 2005 e 2008.
Corremos por um tempo com dois arquivos de solução (05 e 08) compartilhando o mesmo conjunto de arquivos de projeto CS.
Seja embora ciente de que você não pode compartilhar arquivos de projeto VC entre as duas versões como este.
O 'ajuste' para os arquivos do projeto é a seguinte:
CS Projetos criados em VS2008 irá conter a linha:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
VS2005 vai engasgar com isso, e você precisa alterá-lo para o seguinte:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
O trabalho vontade último com tanto em 2005 e 2008.
Outras dicas
Se você não estiver usando quaisquer recursos de "fantasia" em 2008, na minha experiência, a única coisa que muda é o número da versão em um par de lugares. Isso pode ser editada manualmente (é no topo do arquivo IIRC). É, pelo menos, vale a pena tentar. Se você está acostumado VS2008-específicas características (os designers etc) pode muito bem não trabalho, mas para bibliotecas de classe simples Eu tive sucesso fazendo isso.
Você pode estar interessado em uma blog sobre VS2005 e VS2008 co-existente que eu escrevi há um tempo atrás.
Aqui há um conversor http://www.emmet-gray.com/ artigos / ProjectConverter.htm (trabalhos com VS 2010 também).
Há também http://www.dsmyth.net/wiki/Downloads_VS2008ToVS2005Patcher.ashx
(Ligação atualmente quebrado?).
Eu também encontrei este http://www.codeplex.com/Vs2008BackMigration mas eu não' teste t-lo.
Sim, é possível, se você "downgrade" os arquivos de solução.
Não, não existe tal ferramenta que eu conheço, e eu olhei.
Você tem três opções:
- Não abra o arquivo de solução em 2008, e assim nunca atualizá-lo
- Não misture versões do cliente contra os mesmos arquivos (ie. Vara a 2005, ou atualização de todos)
- Mantenha arquivos de solução separadas para 2005 e 2008, certifique-se todos os mesmos projetos estão presentes em ambos
Graças à @Will Dean por me lembrar que os arquivos de projeto pode realmente ser compartilhada. Note-se que são tocados pelo editor 2008, mas eles podem ser abertos em 2005 mais tarde.
Você poderia tentar isso. YMMV
http://www.emmet-gray.com/Articles/ProjectConverter.htm
Lembro-me que foi publicado de Jon Skeets blogue alguns meses atrás e parecia ter um polegar para cima de pessoas
Não há nenhuma maneira direta, e é uma tarefa difícil se você tentar. A maneira mais simples seria criar um novo projeto de 2005 e adicionar suas classes.
Para começar: estas são as diferenças que você veria:
csproj arquivos: (estes são baseados em esquema MSBuild)
(edit)
- ToolsVersion
- ProductVersion
- ProjectVersion
(remove)
- OldToolsVersion
- targetFramework
arquivos .sln: (no esquema)
- Format Versão 10.0
etc.