Ich versuche zuzugreifen connectionStrings
über die Konfigurationsdatei . Der Code lautet ASP.NET + C #. Ich habe System.Configuration
zur Referenz hinzugefügt und auch mit der Verwendung erwähnt. Trotzdem würde es die Versammlung nicht akzeptieren.
Ich verwende VSTS 2008. Irgendeine Idee, was der Grund sein könnte?
Eine andere seltsame Sache ist der Assemblyname, der als "System.configuration" angezeigt wird, ein Kleinbuchstabe c, mit dem Namen für andere Systemassemblys nicht angezeigt werden.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
namespace Utility
{
public class CommonVariables
{
public static String ConnectionString
{
get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; }
}
}
}
Konfiguration:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="qbankEntities" connectionString="metadata=res://*/qbankModel.csdl|res://*/qbankModel.ssdl|res://*/qbankModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=qbank;Persist Security Info=True;User ID=**;Password=****;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
c#
.net
visual-studio
visual-studio-2008
Bleistiftscheibe
quelle
quelle
Antworten:
Es ist nicht nur notwendig, den Namespace zu verwenden
System.Configuration
. Sie müssen auch den Verweis auf die Baugruppe hinzufügenSystem.Configuration.dll
, indem SieSystem.Configuration
.Dies wird sicher funktionieren. Auch für die muss
NameValueCollection
man schreiben:quelle
Klicken Sie in Ihrem Projekt mit der rechten Maustaste auf Referenz hinzufügen ... , suchen Sie auf der Registerkarte .NET den
System.Configuration
Komponentennamen und klicken Sie auf OK.using System.Configuration
Weist den Compiler / IntelliSense an, in diesem Namespace nach Klassen zu suchen, die Sie verwenden. Andernfalls müssten SieSystem.Configuration.ConfigurationManager
jedes Mal den vollständigen Namen ( ) verwenden. Wenn Sie die Referenz jedoch nicht hinzufügen, wird dieser Namespace / diese Klasse nirgendwo gefunden.Beachten Sie, dass eine DLL einen beliebigen Namespace haben kann, sodass die Datei
System.Configuration.dll
theoretisch den Namespace haben kannSome.Random.Name
. Aus Gründen der Klarheit / Konsistenz sind sie normalerweise gleich, es gibt jedoch Ausnahmen.quelle
Ok .. es hat nach dem Neustart des VSTS funktioniert. Der Link schlug die Lösung für das gleiche Problem vor. Ich wünschte, ich hätte es schon einmal gesehen. :) :)
quelle
Das Hinzufügen des
System.Configuration
Verweises auf alle Projekte löst dieses Problem.Gehe zu
Project
->Add Reference
Klicken Sie im angezeigten Feld auf die
All assemblies
Registerkarte Liste in der linken Liste.Scrollen Sie in der zentralen Liste zu
System.Configuration
und stellen Sie sicher, dass das Kontrollkästchen aktiviert ist.Klicken Sie auf OK, um sich zu bewerben, und Sie können jetzt auf die
ConfigurationManager
Klasse zugreifen .quelle
Hinzufügen dieser Antwort, da keine der vorgeschlagenen Lösungen für mich funktioniert.
quelle
Wenn Sie viele Warnungen erhalten (in meinem Fall 64 in einer Lösung!) Wie
Da Sie ein älteres Projekt aktualisieren, können Sie wie folgt viel Zeit sparen:
System.Configuration
als Verweis auf Ihre Referenzen - Seite.Fügen Sie die folgenden zwei
using
Anweisungen oben in jede class (.cs
) - Datei ein:using System.Configuration; using ConfigurationSettings = System.Configuration.ConfigurationManager;
Durch diese Änderung werden alle Vorkommen von
verweist jetzt auf den richtigen Konfigurationsmanager, nicht mehr auf den veralteten, und alle CS0618-Warnungen werden sofort gelöscht.
Denken Sie natürlich daran, dass dies ein schneller Hack ist. Langfristig sollten Sie in Betracht ziehen, den Code umzugestalten.
quelle
Ich habe eine bessere Lösung für das Problem gefunden
configurationmanager does not exist in the current context
.Für eine gelesene Verbindungszeichenfolge
web.config
müssen wir dieConfigurationManager
Klasse und ihre Methode verwenden. Wenn Sie verwenden möchten, müssen Sie den Namespace mit hinzufügenSystem.Configuration
.Obwohl Sie diesen Namespace verwendet haben,
ConfigurationManager
zeigt das System beim Versuch, die Klasse zu verwenden, den Fehler "Konfigurationsmanager ist im aktuellen Kontext nicht vorhanden" an. Um dieses Problem zu lösen:quelle
Sind Sie sicher, dass Sie einen Verweis auf die .NET-Assembly hinzugefügt haben und nicht auf etwas anderes? Ich würde Ihre Referenz entfernen und dann versuchen, sie erneut hinzuzufügen. Stellen Sie dabei sicher, dass Sie im Visual Studio-Referenzdialog auf der Registerkarte .NET auswählen. Die neueste Version sollte in GAC 2.0.0.0 sein.
quelle
jetzt kannst du:
quelle
Versuchen Sie zur Überprüfung der Integrität, ein neues Webanwendungsprojekt zu erstellen, und öffnen Sie den Code dahinter für die Seite Default.aspx. Fügen Sie in Page Load eine Zeile hinzu, um auf Ihre Verbindungszeichenfolge zuzugreifen.
Standardmäßig sollte System.Configuration als Referenz hinzugefügt werden. Sie sollten auch die using-Anweisung oben in Ihrer Codedatei sehen.
Mein Code hinter der Datei sieht jetzt so aus und wird ohne Probleme kompiliert.
Dies setzt voraus, dass ich in meiner web.config eine Verbindungszeichenfolge mit einem Namen habe, der gleich "MyConnectionStringName" ist ...
Ja, es ist elementar, ich weiß. Aber wenn Sie manchmal keine besseren Ideen haben, ist es hilfreich, sich gegen etwas wirklich Einfaches zu erkundigen, von dem Sie wissen, dass es funktionieren sollte.
quelle
Einfach installieren
dann benutze
quelle
Wenn sich dieser Code in einem separaten Projekt befindet, z. B. in einem Bibliotheksprojekt. Vergessen Sie nicht, einen Verweis auf system.configuration hinzuzufügen.
quelle
Dieser Fehler kann auch auftreten, wenn Sie versehentlich einen Verweis auf ein anderes, nicht verwandtes Projekt hinzufügen. Überprüfen Sie, ob dies auf Sie zutrifft.
quelle
Um dieses Problem zu lösen, gehen Sie zum Projektmappen-Explorer. Klicken Sie mit der rechten Maustaste auf Referenz und klicken Sie auf Referenz hinzufügen. Wählen Sie .net und suchen Sie system.configuration. Klicken Sie auf OK
quelle
Fügen Sie die Konfigurationsmanagerdatei hinzu, um eine Verbindung zur Datenbank web.config herzustellen
quelle