【发布时间】:2017-03-17 08:55:44
【问题描述】:
我已经搜索过 SO,但我找到了很多答案,但没有针对我的问题:
正如定义所说:
- .NET Framework 4.6 是一个完整的框架,适用于与 .NET 相关的所有内容,但缺少针对多平台(Windows、Linux 和 Mac)和云部署进行优化的库和运行时
- 另一方面,.NET Core 是 .NET Framework 4.6 的子集,它 主要针对多平台和云部署进行了优化
- NET 标准:一组“标准”API,而不是一个平台。所以 基本上你不关心平台,只关心标准(版本 1.3、1.6 ...),您的代码将在所有支持它的平台上运行。
为了开发跨平台应用程序,我打算创建 ASP.NET 核心应用程序 (.NET),它可能会引用其他可能使用的类库:
- .NET 标准
- .NET 核心
我假设如果我使用任何(标准或核心)我的应用程序仍将支持其他操作系统。
在某些情况下,我看到人们在类库中使用传统的 .NET Framework 和 .NET Standard?
- 在这种情况下,应用程序在使用 .NET 时是否仍然跨平台 框架?
- 什么时候应该混合使用(标准、核心、NET)?
- 在框架之间使用和混合的最佳做法是什么?
- 如何避免任何冲突和构建失败?
例如,假设我有一个包含 project.json 的类库:
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "1.0.0",
"Microsoft.Extensions.Options": "1.0.0",
"StackExchange.Redis.StrongName": "1.1.608",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.5": { }
}
依赖与框架有何不同?以及项目如何解决程序集,因为标准库只是一个规范。
【问题讨论】:
标签: .net .net-core .net-standard