use*_*345 27 .net c# asp.net-core
我需要更新一个新的.NET应用程序,我认为有人提到它是.NET Core.如何检查解决方案属性以确定它是否实际上是一个"核心"应用程序?
Web项目有一个System.Core引用,但我搜索了这个,似乎System.Core.dll已经成为.NET框架的一部分,因为至少.NET f/w 3.5.
该应用程序有一个package.json文件,但在sln中存在该文件并不一定保证该应用程序是.NET核心应用程序.我还读到.NET核心应用程序可以在不同的.NET框架版本上运行.
那么如何确定.NET应用程序是否确实是"核心"应用程序?换句话说,什么使Core应用程序成为Core应用程序?
在VS2017中,.NET Core项目再次使用.csproj结构.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreappx.y</TargetFramework>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
要么
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandardx.y</TargetFramework>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
有一些指标.
存在project.json表明它是较新的项目形式之一(请注意,虽然这project.json将与版本1.1的VS的.NET核心/ .NET核心工具一起消失).
在它里面,你会有一个框架部分,比如
"frameworks": {
"net45": {
"frameworkAssemblies": {
"System.Runtime.Serialization": "4.0.0.0"
}
},
"netstandard1.0": {
"imports": [ "dnxcore50", "portable-net45+win8" ],
"dependencies": {
}
},
"netstandard1.3": {
"imports": [ "dnxcore50", "portable-net45+win8" ],
"dependencies": {
"System.Runtime.Serialization.Formatters": "4.0.0-rc3-24212-01"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在应用程序(ASP.NET Core Web Project或基于new project.json的控制台应用程序)的情况下,netstandard1.x将命名netcoreapp1.0.
如果有多个条目,则应用程序或库将以多个平台为目标(并将在单独的文件夹中构建多个二进制文件).
更新
当然我忘了另一个指标..NET Core应用程序可以参考Microsoft.NETCore.App("type": "platform"对于便携式应用程序,或者没有它用于自包含应用程序).netstandard1.x(类库)做参考NETStandard.Library.
.NET Core应用程序基于System.Runtime.NET Framework 4.5及更新版本的一部分,用于Windows(和Windows Phone)8.0/8.1/10应用程序,因此portable-net45+win81软件包也与.NET Core兼容.
话虽如此,ASP.NET Core是一个可以在完整的.NET Framework(4.5或更高版本)和.NET Core上运行的webstack.因此,拥有一个ASP.NET核心应用程序并不能说明它所针对的平台.
| 归档时间: |
|
| 查看次数: |
12612 次 |
| 最近记录: |