На заметку!
Если вы не знакомы с форматом JSON, то знайте, что он представляет собой формат с парами "имя-значение" и объектами, заключенными в фигурные скобки. Целый файл может быть прочитан как один объект, а подобъекты тоже помечаются с помощью фигурных скобок. Позже в книге вы будете иметь дело с более сложными файлами JSON.Финальный шаг связан с чтением конфигурационного файла и получением значения CarName
using в файле Program.cs, как показано ниже:using System;
using System.IO;
using Microsoft.Extensions.Configuration;
Модифицируйте метод Main()
static void Main(string[] args)
{
IConfiguration config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", true, true)
.Build();
}
Новая подсистема конфигурации начинается с создания экземпляра класса ConfigurationBuilder
IConfiguration.Имея экземпляр реализации IConfiguration
Main() и после запуска приложения вы увидите, что значение будет выведено на консоль:Console.WriteLine($"My car's name is {config["CarName"]}");
Console.ReadLine();
В дополнение к файлам JSON существуют пакеты для поддержки переменных среды, Azure Key Vault, аргументов командной строки и многого другого. Подробные сведения ищите в документации по .NET Core.
Построение и потребление библиотеки классов .NET Core
Чтобы заняться исследованием мира библиотек классов .NET Core, будет создана сборка *.dll
CarLibrary), содержащая небольшой набор открытых типов. Для начала создайте решение. Затем создайте проект библиотеки классов по имени CarLibrary и добавьте его в решение, если это еще не делалось.dotnet new sln -n Chapter16_AllProjects
dotnet new classlib -lang c# -n CarLibrary -o .\CarLibrary -f net5.0
dotnet sln .\Chapter16_AllProjects.sln add .\CarLibrary
Первая команда создает в текущем каталоге пустой файл решения по имени Chapterl6_AllProjects
-n). Вторая команда создает новый проект библиотеки классов .NET 5.0 (-f) под названием CarLibrary (-n) в подкаталоге CarLibrary (-о). Указывать выходной подкаталог (-о) необязательно. Если он опущен, то проект будет создан в подкаталоге с таким же именем, как у проекта. Третья команда добавляет новый проект к решению.На заметку!
Интерфейс командной строки .NET Core снабжен хорошей справочной системой. Для получения сведений о любой команде укажите с ней-h. Например, чтобы увидеть все шаблоны, введите dotnet new -h. Для получения дополнительной информации о создании проекта библиотеки классов введите dotnet new classlib -h.После создания проекта и решения вы можете открыть его в Visual Studio (или Visual Studio Code), чтобы приступить к построению классов. Открыв решение, удалите автоматически сгенерированный файл Class1.cs
EngineStateEnum и MusicMediaEnum. Добавьте в проект два файла с именами MusicMediaEnum.cs и EngineStateEnum.cs и поместите в них следующий код:// MusicMediaEnum.cs
namespace CarLibrary
{
// Тип музыкального проигрывателя, установленный в данном автомобиле.
public enum MusicMediaEnum
{
MusicCd,
MusicTape,
MusicRadio,
MusicMp3
}
}
// EngineStateEnum.cs
namespace CarLibrary
{
// Представляет состояние двигателя.
public enum EngineStateEnum
{
EngineAlive,
EngineDead
}
}