Varför konvertera SLN till CSPROJ?
En Visual Studio Solution File (.sln) är ett manifest i klartext som innehåller projektsökvägar, GUID:er och mappningar för byggkonfigurationer - den innehåller inte kod eller projektdefinitioner. De .csproj-filer den listar existerar redan som separata XML-filer i underkataloger på disken. Att konvertera en .sln till en .csproj vore som att konvertera en innehållsförteckning till ett av kapitlen den listar - kapitlet är redan en separat fil.
Hur man konverterar SLN till CSPROJ
Visual Studio APP
Använd Arkiv > Öppna > Projekt/Lösning och välj .csproj-filen direkt, vilket helt förbigår din .sln.
VS Code med C# Dev Kit FREE
Öppna mappen som innehåller .csproj; tillägget C# Dev Kit upptäcker och laddar projektet automatiskt utan att kräva en .sln.
JetBrains Rider APP
Öppna .csproj direkt från välkomstskärmen - Rider laddar det enskilda projektet utan att kräva en lösningsfil.
Om dessa format
En SLN-fil är en Visual Studio «solution» - en textfil som grupperar ett eller flera kodprojekt (.csproj, .vcxproj, etc.) så att de kan byggas tillsammans. Öppna den genom att dubbelklicka…
Öppna detaljer för .SLN →En CSPROJ-fil är en C#-projektfil - en XML-fil skapad av Microsoft som talar om för byggsystemet hur ett C#-projekt ska kompileras: vilka källfiler som ska inkluderas, vilka NuGet-paket som…
Öppna detaljer för .CSPROJ →Kvalitet & vad man bör tänka på
- En
.slngrupperar ett eller flera projekt i en delad arbetsyta; de.csproj-filer den refererar till är redan separata XML-filer på disken - din.slninnehåller dem inte. - Om
.csproj-filen saknas i lagringsplatsen lagrar.slnendast en sökväg till var den borde finnas; kontrollera underkataloger eller fråga den som delade projektet. - För att skapa en ny
.csprojfrån grunden, kördotnet new classlib -n MyLibrary(ellerconsole,webapi, etc.) i en terminal.
Vanliga frågor
Jag behöver bara ett projekt från lösningen - behöver jag .sln-filen?
.csproj för det projektet direkt i Visual Studio, Rider eller VS Code; .sln behövs endast när du bygger eller arbetar med flera projekt tillsammans.Kan jag skapa en ny .csproj från grunden?
dotnet new classlib -n MyLibrary (eller console, webapi, etc.) i en terminal, och lägg sedan till den i en befintlig lösning med dotnet sln add vid behov.Filändelsen .csproj saknas i mitt arkiv - vad har hänt?
.sln lagrar endast sökvägar till projektfiler; om .csproj saknas blev den troligen inte incheckad i arkivet eller så är sökvägen i .sln felaktig.