.Net核心基本问题

Sam*_*uel 4 asp.net-core-mvc .net-core asp.net-core asp.net-core-1.0

我是这个领域的新手.我已经使用更新3升级了VS2015.所以现在我已经安装了预览工具2的.Net Core 1.0.0.

然后我使用VS2015创建一个新的.Net Source项目(类库).我已将一些现有的.net 4.6.1代码复制到新位置并按预期编译错误.然后我使用"移植分析工具"(https://docs.microsoft.com/en-us/dotnet/articles/core/porting/index)进行比较,确实给出了一些如何在.Net中使用新方法的建议.核心.

但是仍然有很少的类缺失并且无法编译,比如'TypeDescriptor'或'NullableConverter'等.然后我用Google搜索并且来自Github的人说他们已经添加了这些功能但我仍然不确定为什么我仍然会遇到编译错误.

我还注意到我的类库项目有一个project.json文件:

"frameworks": {
    "netstandard1.6": {
        "imports": "dnxcore50"
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现如果我删除'netstandard1.6',但改为:

"frameworks": {
    "net461": {}
}
Run Code Online (Sandbox Code Playgroud)

所有的编译错误都消失了,但我可以猜测它不再是.Net核心项目了,更有可能作为标准的.Net 4.6.1项目.

所以基本上我想问:

  1. 为什么Github的开发人员说已经修复但我仍然无法在我的项目中找到/编译这些类(例如TypeDescriptor:https://github.com/dotnet/corefx/issues/8262)?

  2. 一些示例还在project.json文件中的'frameworks'下放置'net461'和'netstard1.6'或'netcoreapp1.0'.这是为了什么目的?

  3. 如果我只使用'net461'作为唯一的框架,那么传统的.Net Framework 4.6.1项目似乎没什么区别.我对么?

非常感谢!

Dei*_*lan 7

  1. 安装包System.ComponentModel.TypeConverter,你最好使用.NET Core项目.
  2. 用于构建不同的输出(二进制),每个输出都针对不同的平台.net461对于应在(完整).NET Framework(在Windows或Mono下)运行的应用程序.netcoreapp1.0用于应该在.NET Core下运行的应用程序.netstandard1.6(避免使用netstandard1.5netstandard1.6顺便使用以前的版本)用于可移植类库,它们应该在不同的平台上运行:(完整).NET Framework,.NET Core,Xamarin,通用Windows应用程序等.您可以阅读更多关于这里这里.
  3. 绝对.