Файл *deps.json в.NET Core

Какова цель файла *deps.json в.NET Core? В чем причина хранить ссылки в таком файле, а не в манифесте сборки (как в автономном.NET Framework)?

Используя Ildasm, я проверил, что манифест сборки не содержит записей для этих зависимостей после команды сборки dotnet.

Но у него есть записи после команды публикации dotnet.

1 ответ

.deps.json Файл содержит метаданные о сборках, на которые ссылается встроенная сборка, и местоположениях для их поиска, а также информацию об используемых параметрах компиляции.

Эта информация читается нативным компонентом (corehost), который загружает и настраивает среду выполнения. Когда необходимо загрузить указанную сборку, хост будет использовать информацию в этом файле (а также любую другую runtimeconfig.json/runtimeconfig.dev.json) найти правильную сборку для загрузки.

Эта информация используется и в других местах. Например, компиляция представления Razor в ASP.NET Core также использует его для передачи правильных ссылок и конфигурации в сгенерированный код. И хосты модульного тестирования также должны использовать информацию в этом файле, когда библиотека тестового модуля загружена в тестовый хост. Управляемый API для чтения и записи этого файла доступен в Microsoft.Extensions.DependencyModel Пакет NuGet.

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