В этой главе мы обсудим файл project.json . Этот файл использует нотацию объектов JavaScript для хранения информации о конфигурации, и именно этот файл является сердцем приложения .NET. Без этого файла у вас не было бы проекта ASP.NET Core. Здесь мы обсудим некоторые из наиболее важных функций этого файла. Давайте дважды щелкнем по файлу project.json .
В настоящее время реализация кода по умолчанию в файле project.json выглядит следующим образом:
{ "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" }, "Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0" }, "tools": { "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" }, "frameworks": { "netcoreapp1.0": { "imports": ["dotnet5.6", "portable-net45+win8"] } }, "buildOptions": { "emitEntryPoint": true, "preserveCompilationContext": true }, "runtimeOptions": { "configProperties": { "System.GC.Server": true } }, "publishOptions": { "include": ["wwwroot", "web.config" ] }, "scripts": { "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } }
Как мы видим, у нас есть информация о версии в верхней части этого файла. Это номер версии, который будет использоваться вашим приложением при его создании.
-
Версия 1.0.0, но самая важная часть этого файла — это зависимости.
-
Если ваше приложение выполнит какую-либо полезную работу, то вам понадобятся библиотеки и интегрированные среды для этой работы, такие как хранение и извлечение данных в / из базы данных или рендеринг сложного HTML.
-
В этой версии ASP.NET Core все зависимости управляются через менеджер пакетов NuGet.
-
NuGet работает в пространстве .NET уже несколько лет, но теперь основным способом управления всеми вашими зависимостями является использование библиотек и сред, которые упакованы в пакеты NuGet.
-
Все пакеты NuGet верхнего уровня, в которых нуждается ваше приложение, будут храниться в этом файле project.json.
Версия 1.0.0, но самая важная часть этого файла — это зависимости.
Если ваше приложение выполнит какую-либо полезную работу, то вам понадобятся библиотеки и интегрированные среды для этой работы, такие как хранение и извлечение данных в / из базы данных или рендеринг сложного HTML.
В этой версии ASP.NET Core все зависимости управляются через менеджер пакетов NuGet.
NuGet работает в пространстве .NET уже несколько лет, но теперь основным способом управления всеми вашими зависимостями является использование библиотек и сред, которые упакованы в пакеты NuGet.
Все пакеты NuGet верхнего уровня, в которых нуждается ваше приложение, будут храниться в этом файле project.json.
"Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0
Вы можете видеть, что у нас есть некоторые зависимости в этом файле, и точные зависимости, вероятно, изменятся к окончательному выпуску ASP.NET. Если вы хотите добавить новую зависимость, скажем, как ASP.NET MVC, вы легко вводите этот файл project.json, и вы также получите помощь IntelliSense, включая не только имя пакета, но и номера версий, как показано в следующий скриншот.
Вы также можете использовать пользовательский интерфейс, щелкнув правой кнопкой мыши References в обозревателе решений, а затем выберите Управление пакетами NuGet. Теперь вы можете увидеть установленные в данный момент пакеты.
Эти пакеты те же, что и в вашем файле project.json, и вы также можете перейти в Браузер и добавить другие пакеты, включая предварительно выпущенные пакеты, скажем, среду MVC, установленную в этом проекте.
Если вы установите этот пакет прямо сейчас с помощью кнопки «Установить», этот пакет будет сохранен в project.json. Раздел фреймворков — это еще одна важная часть project.json, в этом разделе рассказывается ASP.NET о том, какую из фреймворков .NET можно использовать в вашем приложении.
"рамки": { "netcoreapp1.0": { "импорт": [ "Dotnet5.6", "Портативный-net45 + Win8" ] } },
В этом случае вы увидите, что « netcoreapp1.0 » — это фреймворк, используемый в проекте, вы также можете включить полный .NET Framework, который устанавливается при установке Visual Studio.
Это тот же .NET Framework, который включен во многие версии операционной системы Windows.
Это платформа .NET Framework, которая существует уже 15 лет и включает в себя интегрированные среды, которые делают все, от веб-программирования до настольного программирования.
Это огромный фреймворк, который работает только на Windows.
«Netcoreapp1.0» — это платформа .NET Core. Это кроссплатформенный фреймворк, который может работать на разных платформах, не только Windows, но также OS X и Linux.
Этот каркас имеет меньше возможностей, чем полноценный каркас .NET, но в нем есть все функции, которые нам нужны для веб-разработки ASP.NET Core.