gpt4 book ai didi

asp.net - project.json 中的 'dependencies' 和 'frameworkAssemblies' 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 13:31:16 24 4
gpt4 key购买 nike

documentation for using project.json对于 ASP.NET 5 应用程序,包含一个示例 project.json 文件(下面的缩写版本)。
frameworkAssemblies 和有什么区别和 dependencies ?

为什么dnx451使用一个和 dnxcore50使用另一个?

{
"version": "0.1-alpha-*",
...
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
...
}
},
"dnxcore50": {
"dependencies": {
...
}
}
}

最佳答案

frameworkAssemblies指存在于 GAC(全局程序集缓存)中的程序集。

考虑以下示例:
我想使用 ADO.NET api( SqlConnection , SqlCommand ) 来处理 SQL Server 数据库。我知道这些 api 是 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-*"
}
}
}
}

关于asp.net - project.json 中的 'dependencies' 和 'frameworkAssemblies' 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30747965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com