Зачем конвертировать SLN в CSPROJ?
Файл решения Visual Studio (.sln) - это текстовый манифест, содержащий пути к проектам, GUID и сопоставления конфигураций сборки; он не содержит кода или определений проектов. Файлы .csproj, которые он перечисляет, уже существуют как отдельные XML-файлы в подкаталогах на диске. Конвертация .sln в .csproj была бы похожа на попытку превратить оглавление в одну из глав, которые в нем перечислены - глава уже является отдельным файлом.
Способы конвертации SLN в CSPROJ
Visual Studio APP
Используйте «Файл» > «Открыть» > «Проект/Решение» и выберите файл .csproj напрямую, полностью игнорируя .sln.
VS Code с C# Dev Kit FREE
Откройте папку, содержащую .csproj; расширение C# Dev Kit автоматически обнаружит и загрузит проект без необходимости наличия .sln.
JetBrains Rider APP
Откройте .csproj напрямую с экрана приветствия - Rider загрузит отдельный проект без необходимости в файле решения.
Об этих форматах
Файл SLN - это «решение» Visual Studio, текстовый файл, который объединяет один или несколько проектов кода (.csproj, .vcxproj и т. д.) для их совместной сборки. Откройте его двойным…
Открыть детали .SLN →A CSPROJ file is a C# project file - an XML file created by Microsoft that tells the build system how to compile one C# project: which source files to include, which NuGet packages to use,…
Открыть детали .CSPROJ →Качество и на что обратить внимание
.slnобъединяет один или несколько проектов в общее рабочее пространство; файлы.csproj, на которые он ссылается, уже являются отдельными XML-файлами на диске -.slnне содержит их внутри себя.- Если
.csprojотсутствует в репозитории,.slnхранит только путь к тому месту, где он должен быть; проверьте подкаталоги или обратитесь к тому, кто предоставил проект. - Чтобы создать новый
.csprojс нуля, выполните командуdotnet new classlib -n MyLibrary(илиconsole,webapiи т. д.) в терминале.
Часто задаваемые вопросы
Мне нужен только один проект из решения - нужен ли мне .sln?
.csproj этого проекта напрямую в Visual Studio, Rider или VS Code; .sln нужен только при сборке или работе с несколькими проектами одновременно.Могу ли я создать новый .csproj с нуля?
dotnet new classlib -n MyLibrary (или console, webapi и т. д.) в терминале, затем при необходимости добавьте его в существующее решение с помощью dotnet sln add.В моем репозитории отсутствует .csproj - что случилось?
.sln хранит только пути к файлам проектов; если .csproj отсутствует, скорее всего, он не был зафиксирован в репозитории или путь в .sln указан неверно.