Создайте файл C# .sln с помощью кода Visual Studio.

Я хотел бы создать новое решение C# с Visual Studio Code.

Я использую твои инструменты.

Теперь у меня есть папка с проектом ASP. И еще одна папка с библиотекой классов.

Как я могу ссылаться на библиотеку классов из проекта asp?

Кажется, я должен добавить зависимость к project.json:

"dependencies": {
    "ClassLibrar.Name": "*"
}

Но чтобы сделать это возможным, мне нужен файл решения. Но VS Code и Yo не создают такой.

UPD VS Code можно использовать из разных ОС, тогда как VS доступен только из Windows, я бы хотел создать новое решение только с VS Code.

Простое требование: создать веб-проект и библиотеки классов 1+.

Все это будет упаковано в докерную тару

4 ответа

Откройте терминал VS Code и перейдите в каталог, в котором вы хотите создать папку решения. Используйте следующие команды

dotnet new sln -o MyApiApp

Параметр -o позволяет указать выходной каталог

Перейти к направлению решения

Cd .\MyApiApp\ 

Создавать новые проекты в корневой папке решения

dotnet new console -o MyApiApp.ConsoleApp
dotnet new webapi -o MyApiApp.WebApi 
dotnet new classlib -o MyApiApp.Repository 
dotnet new xunit -o MyApiApp.Tests

Добавьте проекты в решение (используйте вкладку для навигации).

dotnet sln MyApiApp.sln add .\MyApiApp.ConsoleApp\MyApiApp.ConsoleApp.csproj .\MyApiApp.WebApi\MyApiApp.WebApi.csproj .\MyApiApp.Repository\MyApiApp.Repository.csproj .\MyApiApp.Tests\MyApiApp.Tests.csproj 

Добавить ссылки на проекты

dotnet add .\MyApiApp.WebApi\MyApiApp.WebApi.csproj reference .\MyApiApp.Repository\MyApiApp.Repository.csproj 
dotnet add .\MyApiApp.ConsoleApp\MyApiApp.ConsoleApp.csproj reference .\MyApiApp.Repository\MyApiApp.Repository.csproj 
dotnet add .\MyApiApp.Tests\MyApiApp.Tests.csproj reference .\MyApiApp.WebApi\MyApiApp.WebApi.csproj .\MyApiApp.Repository\MyApiApp.Repository.csproj

Visual Studio Code предоставляет способ создания новых шаблонов проектов.

  1. Перейдите к терминалу Visual Studio Code (нажмите Ctrl + `)
  2. Введите команду dotnet newsln
  3. Вы также можете создать новый проект, проверить список доступных шаблонов проектов с помощью команды dotnet new-l

Подробная документация доступна здесь.

Я посещаю эту страницу не в первый раз, потому что я уже проголосовал за ответ @mark-macneil-bikeio.

Дело в том, что ответ - это решение с использованием терминала. На самом деле он не использует тот факт, что VS Code имеет богатый пользовательский интерфейс, помимо использования встроенного терминала.

Дела пошли дальше, на рынке появилось маленькое расширение под названием vscode-solution-explorer , которое позволяет вам создавать .slnфайл, добавлять/удалять новые/существующие проекты и многое другое. За кулисами он звонит в терминал, который вы увидите, если окно терминала видно.

В новом подходе отсутствует ссылка на библиотеку классов для приложения ASP Core.

Вместо этого следует использовать пакет NuGet.

Новый шаблон проекта "Библиотека классов (пакет)" автоматически создает библиотеку классов с пакетом NuGet.

Таким образом, файл решения является избыточным.

Другие вопросы по тегам