3

完全に .NET Core であり、さまざまな環境で実行可能なプロジェクトを作成しようとして頭を悩ませてきましたが、厳密な .NET Framework (4.5 )。

これまでのところ、.NET 461 フレームワークをプロジェクト json に追加することができました。

"frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ],
      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Niloosoft.Hunter.ServicesDataAPI": {
          "target": "project"
        }
      }
    },
    "net461": { }
  }

パッケージの復元に成功し、.NET フレームワークの参照を追加することさえできましたが、それらを適切に使用できないようで、このエラーが発生します。ここに画像の説明を入力

したがって、私の質問は、(相互運用性が必要なため) 予想されるフレームワークを次のように交換せずに、.NET Framework 参照を使用することは現在可能ですか?

    > #if NET45 
//specific code for .NET 4.5
    > #

私のプロジェクトは.NETCoreAppでサポートされていないことに注意してください。.NET Frameworkが必要です..

4

1 に答える 1

5

いいえ、.NET Core でのみ .NET 4.5 を対象とするライブラリを実行することはできません。netstandard1.xorをターゲットとするライブラリのみを使用できます(および をターゲットとnetcoreapp1.xする古いライブラリ(これは、dotnet cli を優先して廃止され、dnx は廃止されました)。dnxcore5.0dotnet5.xnetstandard1.x

ただし、 .NET 4.5Windows Phone 8.x または Windows 8.xをターゲットとする PCL を使用できる場合があります。これは、API サーフェスがはるかに小さく、Windows 8.x/Windows Phone 8.x の両方で動作する API しかないためです。および .NET 4.5+ (つまり、.NET Core が基づいている を使用します)。System.Runtime

ライブラリが .NET 4.5+Win8 以降の PCL でない場合は、代替ライブラリを探して、#ifディレクティブまたはターゲットnet451/net461のみを使用し、.NET Core ではなく mono に対して実行する必要があります。

于 2016-09-27T10:01:12.190 に答える