Dlaczego konwertować SLN na CSPROJ?
Plik rozwiązania Visual Studio Solution File (.sln) to manifest w formacie tekstowym zawierający ścieżki do projektów, identyfikatory GUID oraz mapowania konfiguracji kompilacji - nie zawiera on kodu ani definicji projektów. Pliki .csproj, które wymienia, istnieją już jako osobne pliki XML w podkatalogach na dysku. Konwersja .sln na .csproj byłaby jak próba zamiany spisu treści w jeden z rozdziałów, które wymienia - rozdział jest już osobnym plikiem.
Jak przekonwertować SLN na CSPROJ
Visual Studio APP
Użyj opcji Plik > Otwórz > Projekt/Rozwiązanie i wybierz bezpośrednio plik .csproj, całkowicie pomijając .sln.
VS Code z C# Dev Kit FREE
Otwórz folder zawierający plik .csproj; rozszerzenie C# Dev Kit automatycznie wykryje i załaduje projekt bez konieczności posiadania pliku .sln.
JetBrains Rider APP
Otwórz plik .csproj bezpośrednio z ekranu powitalnego - Rider ładuje pojedynczy projekt bez wymagania pliku rozwiązania.
O tych formatach
Plik SLN to „rozwiązanie” (solution) Visual Studio - plik tekstowy, który grupuje jeden lub więcej projektów kodu (.csproj, .vcxproj itp.), aby mogły być budowane razem. Otwórz go, klikając…
Otwórz szczegóły .SLN →Plik CSPROJ to plik projektu C# - plik XML stworzony przez Microsoft, który informuje system budowania, jak skompilować dany projekt C#: które pliki źródłowe uwzględnić, jakich pakietów…
Otwórz szczegóły .CSPROJ →Jakość i na co uważać
- Plik
.slngrupuje jeden lub więcej projektów we wspólnym obszarze roboczym; pliki.csproj, do których się odwołuje, są już osobnymi plikami XML na dysku -.slnich nie zawiera. - Jeśli pliku
.csprojbrakuje w repozytorium,.slnprzechowuje jedynie ścieżkę do miejsca, w którym powinien się znajdować; sprawdź podkatalogi lub zapytaj osobę, która udostępniła projekt. - Aby utworzyć nowy plik
.csprojod zera, uruchomdotnet new classlib -n MyLibrary(lubconsole,webapiitp.) w terminalu.
Najczęściej zadawane pytania
Potrzebuję tylko jednego projektu z rozwiązania - czy potrzebuję pliku .sln?
.csproj dla tego projektu bezpośrednio w Visual Studio, Rider lub VS Code; plik .sln jest potrzebny tylko podczas budowania lub pracy z wieloma projektami jednocześnie.Czy mogę utworzyć nowy .csproj od zera?
dotnet new classlib -n MyLibrary (lub console, webapi itp.) w terminalu, a następnie dodaj go do istniejącego rozwiązania za pomocą dotnet sln add, jeśli to konieczne.W moim repozytorium brakuje pliku .csproj - co się stało?
.sln przechowuje tylko ścieżki do plików projektów; jeśli brakuje .csproj, prawdopodobnie nie został on dodany do repozytorium lub ścieżka w .sln jest nieprawidłowa.