2015-12-17 10 views
10

Hat VS 2015 drastisch geändert, wie Referenzen hinzugefügt werden?Wie wird eine Referenz in VS 2015/.NET 4.6 hinzugefügt?

Ich mache ein MVC-Web-Projekt. Ich wollte System.Configuration.ConfigurationManager in meiner .NET 4.6 Anwendung verwenden. Ich ging zu dem Knoten und Add Reference... und System.Configuration 1.0.0.0 hinzugefügt. Intellisense konnte nun automatisch die Eigenschaften und Methoden für den ConfigurationManager bereitstellen, zB ConfigurationManager.AppSettings.

Allerdings, wenn ich zu kompilieren versucht, es sagt

CS0234 Der Typ oder Namespace-Name ‚Konfiguration‘ existiert nicht im Namespace ‚System‘ (möglicherweise fehlt ein Assemblyverweis?)

Wie werden die Dinge im neuen .NET Framework gemacht?

Wenn ich meine Maus über die using System.Configuration Aussage schwebe, gibt es einen Ballon Text mit gelbem Dreieck und Ausrufezeichen, das sagt:

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

Was auch immer bedeutet das?

+2

hast du herausgefunden, was zur Hölle das bedeutet ??? –

Antwort

0

Entschuldigung, dass ich noch keinen Kommentar mit meinen aktuellen Punkten abgeben kann.

schlage ich die Dinge, die Sie tun sollten:

  • hinzufügen Referenz, die Ihre aktuellen Rahmen Targeting (Referenz -> Referenz hinzufügen -> Baugruppen -> Rahmen -> System.Configuration)
  • Versuchen hinzufügen System.Configuration 4.0.0.0 anstelle von 1.0.0.0
  • Überprüfen Sie, ob Sie 'using System.Configuration;' in Ihrem Programm oder nicht

Im mit System.Configuration 4.0.0.0 und seine adaequat in Visual Studio 2015

könnten Sie mehr in here überprüfen

+0

Es gibt nur '4.0 System.configuration 4.0.0.0' und keine' System.Configuration 4.0.0.0'. –

+0

Haben Sie dann versucht, stattdessen 4.0 System.configuration 4.0.0.0 zu verwenden? @OldGeezer – Mark

+0

Genau dieselbe Fehlermeldung. Ich habe meiner ursprünglichen Frage mehr Informationen hinzugefügt, etwas über den Wechsel von Kontexten. Vielleicht kann das einen Hinweis geben. –

2

Es bedeutet, dass Sie System.Configuration definiert haben in DNX 4.5.1, was bedeutet, dass es für DNX Core 5.0 nicht verfügbar ist.

Die Datei project.json teilt dem Compiler mit, dass DNX Core 5.0 das Hauptzielsystem sein wird. Wenn also der Namespace System.Configuration in DNX Core 5.0 nicht verfügbar ist, erhalten Sie einen Fehler.

Um dies zu lösen, müssen Sie die Reihenfolge der Rahmen in project.json definiert wechseln

Von:

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

Um

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

Dann an den Compiler Sie sagen, dass Ihr Hauptzielframework ist nun DNX 4.5.1, das ein vollständigeres aber abhängiges Framework ist (.NET Framework 4.5.1! = .NET Core)

.NET Core ist eine sehr kleine Teilmenge von.NET Framework, das für die Ausführung Ihrer Anwendungen in Nicht-Windows-Umgebungen wie Linux und Mac nützlich ist.

Wenn Sie Windows-Umgebungen zielen ich empfehlen dringend DNX 4.5.1 oder 4.6

0

Die Meldung Sie können die Navigationsleiste Zielkontext wechseln. zeigt an, wenn Sie Projekte haben, die Dateien verwenden, die als Link hinzugefügt wurden (Kontextmenü eines Projekts und dann Hinzufügen-> Vorhandenes Objekt ...-> Als Link hinzufügen).

Beispiel: davon ausgehen, dass Sie eine C# Datei Sample.cs in einem Projekt ProjectA und die gleiche Datei referenziert wird als Link in ProjectB genannt haben. Dann schreiben Sie in sample.cs Code, der Bibliothek Bibliothek verwendet. Sie haben auch Bezug auf diese Bibliothek nur in ProjektA. So sollte die ProjectB auch Bezug auf diese Bibliothek haben. Wenn nicht, dann wird diese Nachricht angezeigt: Sie können die Navigationsleiste verwenden, um den Kontext zu wechseln. Vollständige Beispielnachricht:

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