2016-08-31 2 views
0

Verwenden von ASP.NET 4.6 mit WebForms. Erstellt eine statische Klasse in App_Code genannt Einstellungen:Zwei "Website" -Namespaces?

public static class Settings 
{ 
    // ... code ... 
} 

Wenn für den Zugriff von anderen statischen Klasse versuchen, auch innerhalb der Ordner App_Code erhalten:

enter image description here

auch bemerkt, ich habe zwei Webseite Kontexte:

enter image description here

Versucht, die Settings-Klasse in den Namespace "Website" zu setzen; habe immer noch dasselbe Problem. Problem löst nur, wenn ich die Klasse wie deklariere:

Ich vermutete, dass ich irgendwo mit Namespaces etwas falsch gemacht habe; aber ich bin mir nicht sicher was/wo. Was verursacht die Lösung zwei haben zwei "Website" Namespaces?

Nach weiteren graben fand ich, dass es zwei Website "Container" - keine Namespaces.

Referenzen ansehen und Namensräume:

enter image description here

Referenzen anzeigen, indem Sie "Container":

enter image description here

Noch in versuchen zu graben, das herauszufinden ...

Antwort

0

Die 'Build-Aktion' für die Datei selbst wurde auf 'Inhalt' anstatt auf 'Kompilieren' gesetzt. Aus irgendeinem Grund, wenn ich den Projekten in dieser Lösung eine neue Klasse hinzufüge, wird standardmäßig "Inhalt" verwendet. Sobald ich die Kompilierung vorgenommen hatte, war ich wieder in einem einzigen "Website" -Behälter und alles funktionierte wie es sollte.

Build action

1

Sie haben nicht 2 Website-Kontexte, die Dropdown-Liste zeigt Ihren Kontext "Aktuell ausgewählt" an Ihre "Verfügbare" Kontexte. Der Namespace "Website" existiert nicht, das ist einfach der Name Ihres Website-Projekts.

Wenn Sie herausfinden, in welchem ​​Namespace Ihre Website ist (Intellisense sollte Ihnen sagen, wenn Sie eine neue Klasse in Ihrer Website erstellen und darüber schweben), umgeben Sie einfach Ihre statischen Eigenschaften in demselben Namespace.

Eine Alternative besteht darin, einen neuen Namespace zu definieren, der Ihre statischen Member enthält und dann auf diesen Namespace von Ihrer Website verweist.

+0

Unter der Settings-Klasse, die nicht auf die Dropdown-referenziert werden kann, hat eine Option - "Website". Aber in allen anderen existierenden Klassen (die funktionieren) hat das Dropdown zwei Optionen "Website" und "Website" (siehe aktuelles Bild oben). –

+0

Es sieht so aus, als hätte ich zwei "Container" der Website - keine Namespaces; Siehe oben Bearbeiten. –