asp.net - net - ¿Cuál es la diferencia entre ''dependencias'' y ''frameworkAssemblies'' en project.json?
asp.net core github (1)
frameworkAssemblies
refiere a los conjuntos presentes en GAC (caché de ensamblados global).
Considere el siguiente ejemplo:
Quiero usar apis de ADO.NET ( SqlConnection
, SqlCommand
) para trabajar con una base de datos de SQL Server. Sé que estas apis son parte de System.Data.dll
y por eso quiero hacer referencia a él. Ahora, cuando se instala la versión completa de .NET Framework, instala algunos ensamblajes en el GAC (que también tiene este System.Data.dll
) y, por lo tanto, aparece una referencia a los conjuntos de frameworkassemblies
en el siguiente ejemplo. Llegando a CoreClr, necesito averiguar en qué paquete existen estos tipos. Para esto, puede usar el sitio web llamado PackageSearch
(creado por un miembro del equipo de ASP.NET) donde puede buscar un tipo y encontrar el nombre del paquete. En función de esto, encontrará que System.Data.SqlClient
es el paquete. Dado que este paquete está creado para CoreClr, forma parte de dependencies
sección de dependencies
dentro de la sección 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-*"
}
}
}
}
Ahora digamos que incluso desea agregar soporte para la serialización y deserialización de json en su aplicación y desea hacer referencia al paquete de nuget Json.Net. El paquete nuget Json.Net admite tanto el escritorio como el núcleo del clr y, por lo tanto, lo pondría en la sección de dependencies
comunes a ambos marcos.
{
"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-*"
}
}
}
}
La documentación para usar project.json para aplicaciones ASP.NET 5 incluye un archivo de muestra project.json (versión abreviada a continuación).
¿Cuál es la diferencia entre frameworkAssemblies
y dependencies
?
¿Y por qué dnx451
usa uno y dnxcore50
usa el otro?
{
"version": "0.1-alpha-*",
...
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
...
}
},
"dnxcore50": {
"dependencies": {
...
}
}
}