2016-05-13 26 views
2

我在ASP.Net MVC 5/ASP.Net核心周圍戳,並嘗試構建項目時出現錯誤。錯誤,當它似乎被添加到項目時引用丟失

的錯誤是對自己很簡單:(?是否缺少程序集引用)

錯誤CS0234類型或命名空間名稱XRM'不存在命名空間「微軟」存在

但是......它的確如此。 C#文件中的類名正確地爲「彩色」,如果我將它懸停在它上面,Visual Studio就會明白它是什麼(下圖中的類Entity)。

我的主項目是一個web應用程序,但是這個問題發生在同級的'類庫(包)'項目中。該參考文獻由nuget添加。

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框架的正確版本,因爲如果一個正確引用的程序集不是目標框架的一部分,這個錯誤就會出現。實體框架應該要求3.5或更高版本,我相信 –

+0

清理重建,VS關閉並重新打開,不幸的是同樣的錯誤。 – glosrob

回答

1

你引用NuGet包只具有「全」框架實現,而你的目標都net451和dotnet5。實體類的工具提示(星號)應該給你一個關於錯誤的想法。

你有兩個選擇

  1. 刪除dotnet5從目標框架 - 這意味着你的應用程序將工作只能在Windows上,並與框架451
  2. 使用條件編譯爲兩個框架分開執行。

例如

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

有道理 - 謝謝。 – glosrob

相關問題