Como faço para tornar os arquivos de solução RC do Visual Studio 2010 compatíveis com versões anteriores?

StackOverflow https://stackoverflow.com/questions/2350294

Pergunta

Estou tentando usar o Visual Studio 2010. Mas parece que o arquivo .sln criado por meio de ele não é suportado por versões anteriores. É possível salvar os projetos de uma maneira que possa ser legível por versões anteriores do Visual Studio (2008).

Foi útil?

Solução

A resposta aceita está incorreta quando se trata de projetos. Está correto para solução arquivos, mas eles não são tão importantes quanto os arquivos do projeto (como não mudam com tanta frequência, na minha experiência, e há menos deles).

Por exemplo, você pode querer olhar para Tempo noda. Temos dois arquivos de solução (Nodatime vs2008.sln e Nodatime vs2010.sln) que carregam os mesmos arquivos de projeto. Isso fornece uma solução bastante prática para que os desenvolvedores trabalhem com diferentes versões do Visual Studio.

Altere manualmente a primeira parte do arquivo do projeto para ficar assim:

<Project ToolsVersion="4.0" DefaultTargets="Build" 
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

(Basicamente, basta alterar a verificação de ferramentas para 4.0.)

Você também pode deixar o VS2010 converter os projetos automaticamente e compará -los depois, se quiser - veja se isso fez mais alguma coisa que você não quiser.

Nesse ponto, quando você constrói no vs2008, você obterá saída como esta:

O arquivo do projeto contém ToolSversion = "4.0", que não é suportado por esta versão do msbuild. Tratar o projeto como se tivesse Toolsversion = "3.5".

... mas ainda funcionará, na minha experiência. Pode haver algumas esquisitices se você usar muitos designers, etc., mas geralmente parece funcionar muito bem.

Outras dicas

Uma resposta tardia, mas para os outros neste barco, aqui está uma opção se você não se importa de conquistar uma curva de aprendizado. Faça o download de uma cópia do Tortoisehg e instale -a. Este é um sistema de controle de versão. (Existem outros sistemas de controle de versão, como o Git, que também podem fazer isso, mas eles devem suportar filas de patches, e o TeamViewer não; no entanto, esse uso isolado não entra em conflito com o TeamViewer para gerenciamento de origem). O Mercurial inclui uma extensão chamada MQ, e você deve ativá -lo. Modifique a configuração para fazer com que os patches da fila de patches segregam. ([mq] secret = true, ou em configurações, cometer, definir patches secretos de MQ como true. O repositório e deve ser dolorosamente, removido manualmente de cada usuário copia, apenas para voltar por meio do usuário que estava de férias naquele dia.)

Em seguida, crie um repositório na pasta Solution. Procure on -line um arquivo .hgignore para não pegar um monte de porcaria, mas se esse é o seu único objetivo, você pode ignorar tudo, exceto os arquivos *.sln e *. *Proj. Coloque todos os arquivos lá na versão mais antiga do Visual Studio que você usa. Em seguida, abra o arquivo de solução e permita que o Visual Studio execute uma atualização automática. Em seguida, abra a bancada da Tortoishg e crie um novo patch que contenha todas essas mudanças.

A partir daqui, você pode fazer as alterações que quiser na fonte e colocá -las em outro patch. Quando estiver pronto para compartilhar, abra a bancada, retire todos os patches e arraste o patch de atualização para o topo e coloque todos os patches de volta, exceto o patch de atualização. Acabamento (repositório-> Alterar histórico-> Patch de acabamento) Todos os patches (exceto o patch de atualização). Suas alterações agora são incorporadas a uma versão da solução baseada na versão mais antiga do Visual Studio que você tem em uso.

Quando você obtém atualizações de outros usuários, coloque seu patch de atualização, aplique as alterações por meio de um patch de alterações ou compartilhamento e, em seguida, coloque seu patch de atualização em último. Repita conforme necessário.

Isso não captura modificações nos projetos ou arquivo de solução, pois você os retirará quando remover o patch de atualização, mas 99,9% de todo o código -fonte é completamente compatível com versões anteriores. Portanto, além de adicionar itens novos/existentes a um projeto ou adicionar novos projetos a uma solução, isso deve cobrir a maior parte do seu trabalho. Para alterações nos projetos, realize aqueles na versão mais antiga do Visual Studio, exclua seus patches de atualização e recrie um novo patch de atualização.

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