2016-05-13 12 views
2

私はASP.Net MVC 5/ASP.Netコアを掘り下げてプロジェクトをビルドしようとするとエラーが発生します。プロジェクトに追加されたように見えるときに参照が見つからないというエラー

エラーが独自に十分に簡単です:

エラーCS0234型または名前空間名「XRM」は、名前空間「マイクロソフト」に存在しません(あなたはアセンブリ参照が不足している?)

しかし...そうです。 C#ファイルのクラス名は正しく '色付けされています'。その上にカーソルを置くと、Visual Studioはその内容を理解します(クラスEntity下の図を参照)。

私の主なプロジェクトはWebアプリケーションですが、この問題は兄弟の 'クラスライブラリ(パッケージ)'プロジェクトで発生しています。リファレンスはナゲットによって追加されました。

Visual Studio showing hover help for class from referenced DLL

任意のアイデア私が間違って行っている可能性があるか、私は見えるかもしれない場所をデバッグしようとするのか?

project.jsonは次のようになります。

{ 
    "version": "1.0.0-*", 
    "description": "My Proj Name", 
    "authors": [ "Robert" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "frameworks": { 
    "net451": { 
     "dependencies": { 
      "Microsoft.Crm.Sdk.Proxy": "1.0.0-*", 
      "Microsoft.CrmSdk.CoreAssemblies": "8.1.0" 
      "Microsoft.Xrm.Client": "1.0.0-*" 
     } 
    }, 
    "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

は、私はきれいな操作を行うと、ちょうどファンキーな何かがあなたの参照で起こっていないことを確認する再構築し、あなたのproject.jsonファイル –

+0

を示しました。また、正しく参照されているアセンブリがターゲットフレームワークの一部でない場合、このエラーがトリミングされる可能性があるので、.NET Frameworkの正しいバージョンをターゲットにしていることを確認してください。 Entity Frameworkは3.5以降が必要です –

+0

クリーンリビルド、VSクローズ、再オープン、残念なことに同じエラーです。 – glosrob

答えて

1

あなたがnet451とdotnet5の両方をターゲットにしている間だけ「完全な」フレームワークの実装を持っているNuGetパッケージを参照しています。 Entityクラスのツールチップ(アスタリスク記号)は、エラーの概要を示すはずです。

次の2つのオプション

  1. を持っているが、ターゲットフレームワークからdotnet5を削除する - これは、アプリケーションがWindowsでのみ動作し、フレームワークと451
  2. 使用2つのフレームワークの実装を分離するために、条件付きコンパイルすることを意味します。

#if DNX451 
     // utilize resource only available with .NET Framework 
#endif 
+0

意味があります - ありがとうございます。 – glosrob

関連する問題