我可以使用 ASP.NET Core 仅针对 .NET 4.6.1 吗?
Can I use ASP.NET Core targeting only .NET 4.6.1?
听说 ASP.NET Core 可以面向 .NET Framework 4.6.1。这是否意味着它只能使用 .NET 4.6.1,或者它可以将 .NET 4.6.1 与 .NET Core 一起使用?
您可以两者都做 - 即仅针对桌面 CLR、核心 CLR 或两者。要以桌面 Clr 4.6.1 为目标,请使用 net461
名字对象作为目标框架。要以 Core Clr 为目标,请使用 netcoreapp1.0
。您可以并排使用它们,但感觉有点尴尬 - 为什么在应用程序的情况下还要这样做?
您可以在 .NET Core 1.0 或 .NET Framework 4.5.1+ 之上 运行 ASP.NET Core。由于 "ASP.NET Core" 实际上只是一组 NuGet 包,您可以将它们安装到针对任一框架的项目中。
例如,.NET Core 项目如下所示:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": { }
}
虽然 .NET Framework 项目看起来像(在 .NET 4.6.1 的情况下):
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0"
},
"frameworks": {
"net461": { }
}
之所以有效,是因为 Microsoft.AspNetCore.Mvc 包同时具有 .NET Framework 4.5.1 和 .NET Standard Library 1.6 的目标。
也可以从一个项目构建两个框架:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
},
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
在这种情况下,请注意 Microsoft.NETCore.App
依赖项已移动 到 frameworks
部分的 内。这是必要的,因为只有在为 netcoreapp1.0
而不是 net461
.
构建时才需要此依赖项
听说 ASP.NET Core 可以面向 .NET Framework 4.6.1。这是否意味着它只能使用 .NET 4.6.1,或者它可以将 .NET 4.6.1 与 .NET Core 一起使用?
您可以两者都做 - 即仅针对桌面 CLR、核心 CLR 或两者。要以桌面 Clr 4.6.1 为目标,请使用 net461
名字对象作为目标框架。要以 Core Clr 为目标,请使用 netcoreapp1.0
。您可以并排使用它们,但感觉有点尴尬 - 为什么在应用程序的情况下还要这样做?
您可以在 .NET Core 1.0 或 .NET Framework 4.5.1+ 之上 运行 ASP.NET Core。由于 "ASP.NET Core" 实际上只是一组 NuGet 包,您可以将它们安装到针对任一框架的项目中。
例如,.NET Core 项目如下所示:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": { }
}
虽然 .NET Framework 项目看起来像(在 .NET 4.6.1 的情况下):
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0"
},
"frameworks": {
"net461": { }
}
之所以有效,是因为 Microsoft.AspNetCore.Mvc 包同时具有 .NET Framework 4.5.1 和 .NET Standard Library 1.6 的目标。
也可以从一个项目构建两个框架:
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.0.0",
},
"frameworks": {
"net461": { },
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
在这种情况下,请注意 Microsoft.NETCore.App
依赖项已移动 到 frameworks
部分的 内。这是必要的,因为只有在为 netcoreapp1.0
而不是 net461
.