frameworkAssemblies
относится к сборкам, присутствующих в GAC (глобальный кэш сборок).
Рассмотрим следующий пример:
Я хочу использовать ADO.NET Apis (SqlConnection
, SqlCommand
) для работы с базой данных SQL Server. Я знаю, что эти apis являются частью System.Data.dll
и поэтому хотят ссылаться на него. Теперь, когда установлена полная версия .NET Framework, она устанавливает некоторые сборки в GAC (который также имеет этот System.Data.dll
), и поэтому в приведенном ниже примере вы видите ссылку на frameworkassemblies
. Придя в CoreClr, мне нужно выяснить, в каком пакете эти типы существуют. Для этого вы можете использовать сайт PackageSearch
(созданный членом команды ASP.NET), где вы можете искать тип и находить имя пакета. На основании этого вы найдете System.Data.SqlClient
. Поскольку этот пакет построен для CoreClr, он является частью раздела dependencies
в разделе dnxcore50
.
{
"version": "1.0.0-*",
"description": "Test App",
"dependencies": {
},
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Data": "4.0.0.0"
}
},
"dnxcore50": {
"dependencies": {
"System.Data.SqlClient": "4.0.0-beta-*"
}
}
}
}
Теперь предположим, что вы хотите, чтобы даже добавить поддержку JSON сериализации и десериализации в вашем приложении и хотите сослаться на Json.Net NuGet пакет. Пакет json.Net nuget поддерживает как рабочий стол, так и основной clr, и, следовательно, вы поместите его в раздел dependencies
, общий для обеих фреймворков.
{
"version": "1.0.0-*",
"description": "Test App",
"dependencies": {
"Newtonsoft.Json": "6.0.6"
},
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Data": "4.0.0.0"
}
},
"dnxcore50": {
"dependencies": {
"System.Data.SqlClient": "4.0.0-beta-*"
}
}
}
}
Спасибо за ссылку на пакет поиска, этот сайт блестящий! - http://packagesearch.azurewebsites.net/ – timdougall