2015-12-17 62 views
10

VS 2015對參考文件的添加方式有了很大的改變嗎?如何在VS 2015/.NET 4.6中添加引用?

我正在做一個MVC web項目。我想在我的.NET 4.6應用程序中使用System.Configuration.ConfigurationManager。我去了References節點和Add Reference...並添加了System.Configuration 1.0.0.0。 Intellisense現在能夠自動提供ConfigurationManager的屬性和方法,例如ConfigurationManager.AppSettings

然而,當我試圖編譯,它說

CS0234類型或命名空間名稱「配置」不存在命名空間「系統」存在(是否缺少程序集引用?)

新.NET框架中的工作如何?

當我將鼠標懸停我的鼠標在using System.Configuration聲明,有一個與黃色三角形和感嘆號的氣球文本,上面寫着:

{} Namespace System.Configuration 
    MyProject.DNX 4.5.1 - Available 
    MyProject.DNX Core 5.0 - Not Available 
You can use the navigation bar to switch context. 

不管這意味着什麼?

+2

你有沒有發現這到底是什麼意思? –

回答

0

對不起,我還不能用我當前的觀點發表評論。

我建議你應該做的事情:

  • 添加引用其針對你目前的框架(參考 - >添加引用 - >組件 - >框架 - > System.Configuration)
  • 嘗試添加System.Configuration 4.0.0.0而不是1.0.0.0
  • 檢查是否添加了'using System.Configuration;'在程序或不

進出口使用System.Configuration 4.0.0.0及其在Visual Studio中工作正常,2015年

你可以檢查更here

+0

只有'4.0 System.configuration 4.0.0.0'並且沒有'System.Configuration 4.0.0.0'。 –

+0

然後,您是否嘗試過使用4.0 System.configuration 4.0.0.0? @OldGeezer – Mark

+0

完全相同的錯誤信息。我在原始問題中添加了更多信息,這些信息是關於切換上下文的。也許這可能會提供一個線索。 –

2

這意味着你已經定義System.Configuration在DNX 4.5.1中,這意味着DNX Core 5.0不可用。

project.json文件告訴編譯器DNX Core 5.0將成爲主要的目標框架。所以如果System.Configuration命名空間在DNX Core 5.0中不可用,那麼你會得到一個錯誤。

爲了解決這個問題,你需要切換在project.json

定義從框架的順序:

"frameworks": { 
    "dnxcore50": { 
     }, 
     "dnx451": { 
     } 
    } 

"frameworks": { 
     "dnx451": { 
      }, 
      "dnxcore50": { 
      } 
     } 

然後你告訴編譯器對您的主要目標框架現在是DNX 4.5.1,它是一個更完整但相關的框架(.NET Framework 4.5.1!= .NET Core)

.NET核心是一個非常小的子集。NET Framework,它非常適用於在非Windows環境(如Linux和Mac)中運行應用程序。

如果你是針對Windows環境中我強烈推薦目標DNX 4.5.1或4.6

0

消息您可以使用導航欄切換上下文。顯示何時使用作爲鏈接添加的文件的項目(項目的上下文菜單,然後添加 - >現有項目...->添加爲鏈接)。

:假設你有一個名爲sample.cs一個C#文件中的一個項目項目A和相同的文件,如項目B鏈接引用。然後你寫sample.cs一些使用庫的代碼叫做。您也可以參考只有在ProjectA。所以ProjectB也應該引用該庫。如果不是,則顯示以下消息:您可以使用導航欄切換上下文。完整的示例消息:

{} Namespace Library 
ProjectA 1.0.0 - Available 
ProjectB 1.0.0 - Not Available 
You can use the navigation bar to switch context.