2015-12-17 41 views
10

VS 2015 è cambiato drasticamente su come vengono aggiunti i riferimenti?Come aggiungere riferimento in VS 2015/.NET 4.6?

Sto facendo un progetto Web MVC. Volevo usare System.Configuration.ConfigurationManager nella mia applicazione .NET 4.6. Sono passato al nodo References e Add Reference... e ho aggiunto System.Configuration 1.0.0.0. Intellisense ora era in grado di fornire automaticamente le proprietà e i metodi per ConfigurationManager, ad esempio ConfigurationManager.AppSettings.

Tuttavia, quando ho provato a compilare, si dice

CS0234 Il tipo o dello spazio dei nomi il nome 'Configurazione' non esiste nel 'sistema' dello spazio dei nomi (che le manca un riferimento all'assembly?)

Come vanno le cose nel nuovo .NET Framework?

Quando mi passa il mouse il mouse sopra la dichiarazione using System.Configuration, c'è un testo del fumetto con triangolo giallo e punto esclamativo che dice:

{} 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. 

Qualunque cosa vuol dire questo?

+2

hai trovato che diavolo significa ??? –

risposta

0

Siamo spiacenti ma non riesco ancora a esprimere un commento con i miei punti attuali.

suggerisco le cose che si dovrebbe fare:

  • Aggiungi riferimento che mira il quadro attuale (di riferimento -> Aggiungi riferimento -> Gruppi -> quadro -> System.Configuration)
  • tenta di aggiungere System.Configuration 4.0.0.0 invece di 1.0.0.0
  • Verificare se è stato aggiunto "using System.Configuration;" nel vostro programma o meno

Im using System.Configuration 4.0.0.0 e il suo bel lavoro in Visual Studio 2015

si potrebbe verificare più in here

+0

C'è solo '4.0 System.configuration 4.0.0.0' e no' System.Configuration 4.0.0.0'. –

+0

Quindi, hai provato a utilizzare 4.0 System.configuration 4.0.0.0? @OldGeezer – Mark

+0

Esatto stesso messaggio di errore. Ho aggiunto più informazioni alla mia domanda originale, qualcosa sul cambiamento dei contesti. Forse questo potrebbe dare un indizio. –

2

Vuol dire che è stato definito System.Configuration in DNX 4.5.1 che significa che non è disponibile per DNX Core 5.0.

Il file project.json comunica al compilatore che DNX Core 5.0 sarà il framework di destinazione principale. Quindi se lo spazio dei nomi System.Configuration non è disponibile in DNX Core 5.0, otterrai un errore.

Per risolvere questo problema è necessario cambiare l'ordine dei quadri definiti project.json

Da:

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

Per

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

Poi si sta dicendo al compilatore che il tuo principale framework di riferimento ora è DNX 4.5.1 che è un framework più completo ma dipendente (.NET Framework 4.5.1! = .NET Core)

. NET Core è un sottogruppo molto piccolo di.NET Framework che è utile per l'esecuzione delle applicazioni in ambienti non Windows come Linux e Mac.

Se si prendono di mira gli ambienti Windows vi raccomando vivamente di indirizzare DNX 4.5.1 o 4.6

0

Il messaggio È possibile utilizzare la barra di navigazione per cambiare contesto. mostra quando sono presenti progetti che utilizzano file aggiunti come collegamento (menu di scelta rapida di un progetto e quindi Aggiungi-> Oggetto esistente ...-> Aggiungi come collegamento).

Esempio: si supponga di avere un file C# chiamato Sample.cs in un progetto ProjectA e lo stesso file viene fatto riferimento come un collegamento in ProjectB. Quindi scrivi sample.cs un codice che utilizza la libreria denominata Library. È inoltre necessario fare riferimento a questa libreria solo in ProgettoA. Pertanto, il progetto B dovrebbe fare riferimento a tale libreria. In caso contrario, viene visualizzato questo messaggio: È possibile utilizzare la barra di navigazione per cambiare il contesto. Messaggio di esempio completo:

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