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?

Foi útil?

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:

  1. Não abra o arquivo de solução em 2008, e assim nunca atualizá-lo
  2. Não misture versões do cliente contra os mesmos arquivos (ie. Vara a 2005, ou atualização de todos)
  3. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top