web-dev-qa-db-ja.com

定義済みのタイプ 'System.Object'は定義されていないか、インポートされていません.net 4.6

MVC 5と.net 4.6を使用して、モバイルアプリも接続できるWeb APIを作成しています。

プロジェクトをビルドするたびに、すでに存在する参照を追加する必要があり、プロジェクト内のすべてのタイプが「存在しない」ことを示すエラーが何百も表示されます。これらのエラーの例:(タイトルに含まれていない)

ErrorList

私が試したもの:

  • NuGetを介してSystem.Runtimeへの参照を追加しました。 ( この質問 からの推奨事項。)
  • Project.jsonファイルのフレームワークからaspnetcore50を削除しました。 (別の推奨事項、 この質問 。)
  • VS2015、私のマシンを再起動します。
  • NuGetパッケージマネージャーを使用して、プロジェクトのすべてのパッケージを最新のものにアップグレードします。
  • 実際に、ソリューションエクスプローラーの参照ノードで参照を確認できるようにします。

UPDATE:-My project.jsonファイルは次のようになります。 (Karlsの回答に基づいて変更した後、エラーリストは10個になりましたが、以前と同じエラーのままです。)

{
  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
  },
  "dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5",
    "System.Runtime": "4.0.20-beta-23019"
  },
  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
        "System.Data": "4.0.0.0",
        "System.Data.DataSetExtensions": "4.0.0.0",
        "System.Data.Linq": "4.0.0.0"
      }
    }
  },
  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "version": "1.0.0-*",
  "webroot": "wwwroot"
}
42
KidCode

ここでは少し推測していますが、System.Data.*に通常のdnx451を使用しているのではないかと疑っていますが、dnxcore50を補うものはありません。コアエディションもターゲットにしていますか、それともプロジェクト作成の残り物ですか?コアエディションをターゲットにし、古いSystem.Data.*を使用する場合は、このようなアセンブリから何かをラップする必要があります。

#if DNX451
// Do some DNX451 specific stuff here
#endif

そしてその逆も同様です。

#if DNXCORE50
// Do some DNXCORE50 specific stuff here
#endif

ただし、これをサポートすることをまだ考えていない場合は、フレームワークリストからdnxcore50を削除するだけで、エラーはおそらくなくなるでしょう。

2

binobjを削除して再構築します。

33
gneric

走る dotnet restoreパッケージマネージャーコンソールのコマンドと問題が解決しました。

13
Navid_pdp11

私の場合、dnxのベータ版に対してビルドするように設定されたプロジェクトがありました。他のプロジェクトで使用していたバージョンに対してビルドするように変更すると、修正されました。

3
Peter

同じエラーが発生したため、私のプロジェクトはVisual Studio 2017で開いたときにコンパイルされませんが、Visual Studio 2015でコンパイルされます(VSの両方のバージョンが同時にインストールされています)。 :-o

0
ChocapicSz

私にとっては、ソリューションに新しいプロジェクトを追加したときに問題が発生しました。ソリューションを再構築すると、エラーはなくなりました。

0
Sarah Wessel