1. ホーム
  2. .net

[解決済み] プロジェクトが ".NETFramework,Version=v4.5" フレームワークを参照していない。

2023-01-14 05:39:29

質問

VS2015を使用しています。

あなたのプロジェクトは ".NETFramework,Version=4.5" を参照していません。 というフレームワークを使用しています。次のセクションで ".NETFramework,Version=4.5" への参照を追加してください。 project.json の "frameworks" セクションに参照を追加し、NuGet を再実行します。 を再実行します。

MVC レイヤーを追加した直後に、データ アクセス レイヤーとビジネス ロジック レイヤーでこのエラーが発生しました。それまではうまくいっていたのですが、何がこのエラーの引き金になったのかわかりません。以下は、私の project.json です。

{
  "version": "1.0.0-*",
  "description": "foo bar Class Library",
  "authors": [ "foo bar" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}

以下は、私が試したものです。

  1. で見つけたように "dotnet5.4" を "net451" に置き換える(そしてそれを削除する)。 この回答 .

結果、同じエラーになります。

  1. "dotnet5.4" を "net45" に置き換え、 "net451" を残します。この結果、新しいエラーが発生します。

あなたのproject.jsonにはruntimesセクションがありません。以下を追加する必要があります。 '"runtimes": { "win":{}' をproject.jsonに追加してください。}' を project.json に追加して、NuGet の restore を再実行します。 を再実行します。

このエラーの提案通りにやってみたところ

"runtimes": {
    "win":  {}
  },

これによって、このエラーが発生し、それを乗り越えることができないようです。

project.jsonにターゲットランタイムとして'win'がリストされていません。次のようにします。 を追加してください。{}' を project.json の "runtimes" セクション内に追加してください。 を追加し、NuGet restore を再実行します。

私はすでに "win" を追加しており、これは赤信号のように感じ始めています。私は project.json を直接変更して何をしているのでしょうか、NuGet はこれを処理しないのでしょうか?

どのように解決するのですか?

実は今、問題がわかりました。私は結局、クリックする Restore Nuget Packages をクリックして、何とか私の PCL ファイルをコンパイルし、それから私のソリューションの残りの部分をコンパイルすることができました。

これが役立つことを願っています。