Por que converter SLN para CSPROJ?
Um Visual Studio Solution File (.sln) é um manifesto em texto simples contendo caminhos de projeto, GUIDs e mapeamentos de configuração de compilação - ele não contém código ou definições de projeto. Os arquivos .csproj que ele lista já existem como arquivos XML separados em subdiretórios no disco. Converter um .sln para um .csproj seria como converter um índice em um dos capítulos que ele lista - o capítulo já é um arquivo separado.
Como converter SLN para CSPROJ
Visual Studio APP
Use Arquivo > Abrir > Projeto/Solução e selecione o arquivo .csproj diretamente, ignorando o .sln completamente.
VS Code com C# Dev Kit FREE
Abra a pasta que contém o .csproj; a extensão C# Dev Kit detecta e carrega o projeto automaticamente sem exigir o .sln.
JetBrains Rider APP
Abra o .csproj diretamente da tela de boas-vindas - o Rider carrega o projeto individual sem exigir um arquivo de solução.
Sobre estes formatos
Um arquivo SLN é uma «solução» do Visual Studio - um arquivo de texto simples que agrupa um ou mais projetos de código (.csproj, .vcxproj, etc.) para que sejam compilados juntos. Abra-o…
Abrir detalhes de .SLN →Um arquivo CSPROJ é um arquivo de projeto C# - um arquivo XML criado pela Microsoft que informa ao sistema de compilação como compilar um projeto C#: quais arquivos de origem incluir, quais…
Abrir detalhes de .CSPROJ →Qualidade e o que observar
- Um
.slnagrupa um ou mais projetos em um espaço de trabalho compartilhado; os arquivos.csprojque ele referencia já são arquivos XML separados no disco - o.slnnão os contém. - Se o
.csprojestiver faltando no repositório, o.slnarmazena apenas um caminho para onde ele deveria estar; verifique os subdiretórios ou pergunte a quem compartilhou o projeto. - Para criar um novo
.csprojdo zero, executedotnet new classlib -n MyLibrary(ouconsole,webapi, etc.) em um terminal.
Perguntas frequentes
Eu só preciso de um projeto da solução - eu preciso do .sln?
.csproj desse projeto diretamente no Visual Studio, Rider ou VS Code; o .sln só é necessário ao compilar ou trabalhar com vários projetos juntos.Posso criar um novo .csproj do zero?
dotnet new classlib -n MyLibrary (ou console, webapi, etc.) em um terminal e, em seguida, adicione-o a uma solução existente com dotnet sln add, se necessário.O .csproj está faltando no meu repositório - o que aconteceu?
.sln armazena apenas caminhos para arquivos de projeto; se o .csproj estiver faltando, provavelmente ele não foi enviado para o repositório ou o caminho no .sln está incorreto.