web-dev-qa-db-ja.com

アセンブリmscorlib、version = 4.0.0への参照を追加する必要があります

WebプロジェクトをRC1からRC2に移行するのに問題があります。切り替えたときに、プロジェクト全体でこれらのエラーが大量に発生しています。

型 'Func <、>'は、参照されていないアセンブリで定義されています。アセンブリ「mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089」への参照を追加する必要があります

すべてのlinq関数とラムダ式が機能していないようです。

これは私のproject.jsonファイルのようです:

  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "System.Linq": "4.1.0-rc2-24027"
      },
      "imports": [ "net451", "portable-net45+win8" ]
    }
  },
  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
    "System.ComponentModel.Annotations": "4.1.0-*"
  }

これが何を意味するのか?私はdotnet restoreを実行しようとしましたが、助けにはなりませんでした。

46
painiyff

同じ問題があり、次のパッケージをproject.json依存関係に追加すると修正されました。

"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",

このパッケージにより、mscorlibベースのPCLとの互換性が実現します。

76
Morteza Manavi

実際、問題はasp.net 4.0または4.5バージョン(Core未満)を必要とする古いライブラリです。

Microsoftは、休閑中のNuGetパッケージをインストールすることにより、そのためのソリューションを提供します。

Microsoft.NETCore.Portable.Compatibility

このようにして、古いライブラリでコードを実行できます。

36
Daniel Santos

テンプレートクラスライブラリ(.NET標準)を使用して新しいプロジェクトを作成し、再利用したいコードをそのプロジェクトに移植すると、このエラーが発生しました。

新しいプロジェクトクラスライブラリ(.NET Framework)を作成し、代わりにコードを移動しましたが、問題なく動作しました。

4
Matt Kemp