我听说ASP.NET Core可以针对.NET Framework 4.6.1。这是否意味着它只能使用.NET 4.6.1,或者它可以与.NET Core一起使用.NET 4.6.1?
解决方法
您可以在.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依赖项在框架部分内部移动。这是必要的,因为仅在构建netcoreapp1.0而不是net461时才需要这种依赖关系。