【问题标题】:Support .NET 4.5 and DotNetCore支持 .NET 4.5 和 DotNetCore
【发布时间】:2017-02-26 18:58:34
【问题描述】:

如何支持 .NET 4.5 和 DotNetCore?

共享代码的 PCL 是不是最好的前进方式(如果可能的话,目标是 DNX + .NET 4.5)?

基本上我有一个库作为 NuGet 包发布,它仍然需要支持 .NET 4.5.2,但我也想在 DotNetCore 应用程序中使用这个库。

.NET 标准会帮助解决这个问题吗?还是 .NET 标准仅适用于 .NET Core+?

【问题讨论】:

  • .NET Core.NET Standard 的实现
  • 我知道,但想知道 .NET 4.5.2 是否实现了该标准的一个版本,而且看起来确实如此,但 .NET Standard 1.5 无论如何都不适合我的需要 :-(

标签: c# .net .net-core portable-class-library .net-standard


【解决方案1】:

在 .NET Core 中,您可以选择构建目标和使用的库。所有这些更改都在 project.json 中进行。

要添加对 .NET 4.52 的支持,您需要修改 project.json 使其看起来像这样

"frameworks": {
"netcoreapp1.0": { //Support for .NET Core
  "imports": "dnxcore50",
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    }
  }
},
"net452": { //Support for .NET 452
}

为 .NET 452 添加平台特定代码

#if NET452
...
#endif

要使用 .NET 452 运行,请使用此命令

dotnet run -f NET452

MSDN 上,他们有关于这个主题和许多其他主题的非常好的文档。

这个Article 也很好地解释了如何在一个项目中管理 Core 和普通 .NET 代码。

【讨论】:

  • 看起来我可以将 .csproj 中的 <TargetFramework>netcoreapp1.0</TargetFramework> 更改为 netcoreapp1.0;net452
  • 注意对于多目标TargetFramework会变成TargetFrameworks(复数)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
相关资源
最近更新 更多