包含 .NET Core 在内的多个目标的包 Class 库
Package Class Library for multiple targets including .NET Core
我有一个简单的 class 库,它以 .NET 4.5
为目标并打包为 nuget package
。这取决于 Reactive Extensions (2.2.5)
.
我想让它 .NET
与核心兼容并将其打包用于多个目标框架 (.NET Core, .NET 4.5, .NET 4.6)
。
我已将我的 Reactive Extensions nuget
依赖项升级到 3.0.0
,并使用 API 端口我了解到我的代码现在 100% .NET Core
兼容.
现在我正在构建和打包我的 class 库,以便它可以被多个框架目标使用。
正确的方法是什么?
是否有关于此的已发布指南?
我是否需要在 VS2015 中创建一个新的 .NET Core Class 库,或者我是否可以在我的旧 .NET Framework Class 库中创建一个新的库?
我添加一个 project.json 并添加多个框架,就像这样吗?
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
},
"net45": {},
"net46": {}
}
我还用nuget打包吗?
谢谢。
推荐的方法是使用 netstandard 轻松定位多个框架。网络标准指南可用 here。为此,您需要有一个 NET Core 项目。这是面向未来的证明,并且比使用 PCL 配置文件更易于管理。
我创建了一个带有 netstandard1.6 目标的 nuget 包。 net461 应用程序和 netcoreapp1.0 应用程序都可以使用它。
我发现 netstandard1.6 目标不能被 net45 使用,所以我也添加了一个单独的 net45 目标。
这是 project.json。
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"System.Reactive": "3.0.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
},
"net45": {}
},
"buildOptions": {
"xmlDoc": true
}
}
我有一个简单的 class 库,它以 .NET 4.5
为目标并打包为 nuget package
。这取决于 Reactive Extensions (2.2.5)
.
我想让它 .NET
与核心兼容并将其打包用于多个目标框架 (.NET Core, .NET 4.5, .NET 4.6)
。
我已将我的 Reactive Extensions nuget
依赖项升级到 3.0.0
,并使用 API 端口我了解到我的代码现在 100% .NET Core
兼容.
现在我正在构建和打包我的 class 库,以便它可以被多个框架目标使用。
正确的方法是什么?
是否有关于此的已发布指南?
我是否需要在 VS2015 中创建一个新的 .NET Core Class 库,或者我是否可以在我的旧 .NET Framework Class 库中创建一个新的库?
我添加一个 project.json 并添加多个框架,就像这样吗?
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
},
"net45": {},
"net46": {}
}
我还用nuget打包吗?
谢谢。
推荐的方法是使用 netstandard 轻松定位多个框架。网络标准指南可用 here。为此,您需要有一个 NET Core 项目。这是面向未来的证明,并且比使用 PCL 配置文件更易于管理。
我创建了一个带有 netstandard1.6 目标的 nuget 包。 net461 应用程序和 netcoreapp1.0 应用程序都可以使用它。
我发现 netstandard1.6 目标不能被 net45 使用,所以我也添加了一个单独的 net45 目标。
这是 project.json。
{
"version": "1.0.0-*",
"dependencies": {
"NETStandard.Library": "1.6.0",
"System.Reactive": "3.0.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
},
"net45": {}
},
"buildOptions": {
"xmlDoc": true
}
}