Ich habe das Online-Projekt in ASP.Net heruntergeladen. Beim Ausführen der Anwendung wird eine Fehlermeldung angezeigt
Es ist ein Fehler, einen Abschnitt zu verwenden, der über die Anwendungsebene hinaus als allowDefinition = 'MachineToApplication' registriert ist. Dieser Fehler kann dadurch verursacht werden, dass ein virtuelles Verzeichnis in IIS nicht als Anwendung konfiguriert ist.
Welche Änderungen sollte ich in web.config oder anderswo vornehmen, damit dies funktioniert?
asp.net
visual-studio-2012
Deepali
quelle
quelle
obj
Ordner gelöscht wurden .Antworten:
Ich bin gerade auf diese "Freude" gestoßen. Es scheint sich zu präsentieren, kurz nachdem ich eine Webanwendung im Release-Modus veröffentlicht habe.
Die einzige Möglichkeit, das gefundene Problem konsequent zu umgehen, besteht darin, dieser Checkliste zu folgen:
quelle
MvcBuildViews
auf eingestellt habetrue
.Komm einfach auf diesen Beitrag und das passierte mir.
Nur
Clean
das Projekt und der Fehler verschwinden. (muss ein VS2010-Fehler sein)quelle
obj
Ordner nicht. Dies muss manchmal auch gelöscht werden.Ich hatte gerade dieses Problem beim Erstellen einer zweiten Version meiner Website. Es ist nicht passiert, als ich es das erste Mal gebaut habe.
Ich habe gerade die Ordner bin und obj gelöscht, eine saubere Lösung ausgeführt und sie erneut erstellt, diesmal ohne Probleme.
quelle
Keiner. Sie müssen das Verzeichnis, in dem Sie die Website platziert haben, als Webanwendung in IIS einrichten .
quelle
Dieser Fehler tritt auf, wenn Sie versuchen, ein Projekt als Website zu öffnen. Der einfachste Weg, um festzustellen, ob Sie eine Website oder ein Projekt erstellt haben, besteht darin, Ihren Lösungsordner (dh den Ort, an dem Sie Ihren Code gespeichert haben) zu überprüfen und festzustellen, ob sich eine * .sln-Datei im Stammverzeichnis befindet. Ich habe ein Projekt erstellt.
Nur um hinzuzufügen, ich bin gerade auf diesen Fehler gestoßen, als ich versuchte, ein Projekt zu öffnen, das ich vor einiger Zeit erstellt habe, indem ich "Datei", "Website öffnen" aus den Visual Studio-Menüs ausgewählt habe, während ich "Datei", "Projekt öffnen" hätte auswählen sollen. stattdessen. Ich wurde sofort angesprochen, als ich merkte :)
quelle
In Visual Studio 2013 hatte ich eine Weile damit zu kämpfen und es ist ziemlich einfach zu lösen. Befolgen Sie einfach die Ausnahmen "Virtuelles Verzeichnis wird nicht als Anwendung in IIS konfiguriert".
In meinem Fall hatte ich so
WebService
hineingepflanztIIS website
Convert to Application
Ok
WCF ist zurück und läuft.
quelle
Der Fehler deutet darauf hin, dass der von Ihnen verwendete Code erwartet, dass ein virtuelles Verzeichnis auf IIS eingerichtet wird.
Schlagen Sie die Dokumentation nach und fügen Sie das erforderliche virtuelle Verzeichnis hinzu. Es sollte ein Verzeichnis sein,
web.config
in dem sich ein Verzeichnis befindet (nicht das Stammverzeichnis).quelle
<authentication mode="Forms"><forms name="..." loginUrl="~/Login/Login/" timeout="2880" /></authentication>
in seinemWeb.config
in denViews
eher dann den Stamm - Ordnern, der dieses Problem verursacht.Wenn Sie ein MVC-Projekt mit aktivierten Ansichten erstellen lassen, besteht eine der Lösungen darin, den Ordner obj vor dem Erstellen zu löschen. Zur Projektdatei hinzufügen:
Hier ist ein Artikel: So entfernen Sie den Ordner bin und / oder obj vor dem Erstellen oder Bereitstellen
quelle
Eine kürzlich vorgenommene Änderung von web.config befindet sich möglicherweise in der falschen Datei web.config.
Views / web.config wurde eine
<machineKey...>
Eigenschaft hinzugefügt . Egal wie viele Cleans und Rebuilds der Fehler blieb. Das Update bestand darin, die Eigenschaft in die root /web.config zu verschieben .quelle
wenn Sie jemals auf diesen Fehler stoßen
LÖSUNG
Ich hatte das gleiche Problem mit VS 2012. Ich habe dieses Problem durch gelöst
<MvcBuildViews>false</MvcBuildViews>
Wenn Sie dies haben, besteht eine Lösung darin, den Inhalt des obj-Ordners in dem vom Compiler generierten Projekt zu löschen.
quelle
MvcBuildViews
, habetrue
ich den Fehler überhaupt erst bekommen.<MvcBuildViews>true</MvcBuildViews>
In meinem Fall trat das Problem erst auf, nachdem ich das Projekt im Unterverzeichnis veröffentlicht hatte. Aufgrund meines Unwissens habe ich mein
web_publish
Unterverzeichnis in dasweb_project
Verzeichnis gestellt.Es ist klar, dass das
web_publish
auch die gleichenWeb.config
s enthält, die das Projekt enthält. Dasweb_project
weiß jedoch nicht, dass myweb_publish
bei der SucheWeb.config
in den verschachtelten Unterverzeichnissen vermieden werden sollte . Auf diese Weise wurden dieWeb.config
s dupliziert und der Fehler trat auf.Die Lösung war, meine
web_publish
woanders zu platzieren.quelle
In meinem Fall gab es einen "Backup" -Ordner, der eine weitere Kopie der gesamten Website enthielt. Dies bedeutete eine andere
web.config
und so schlug der Build mit diesem Fehler fehl. Ich habe den Ordner "Backup" gelöscht, eine Clean-Lösung für die Debug- und Release-Builds durchgeführt und der Fehler ist verschwunden.quelle
In meinem Fall,
Die Lösung enthält 6 Projekte, 1 Haupt- und 5 Unterverzeichnisse. Alle Unterverzeichnisse mit web.config.
Beim Ausführen einer Seite in Unterverzeichnissen wurde der gleiche Fehler angezeigt.
Ich habe diese Zeile aus web.config entfernt.
das hat bei mir funktioniert.
quelle
Bereinigen Sie Ihr Projekt. Entfernen Sie den Ordner / obj (wahrscheinlich mit Publish and Deployment? - Es liegt ein Fehler vor).
quelle
Mein Problem war, dass ich versehentlich meinen Webservice an einem vorab abgeschlossenen Speicherort auf einer Neuinstallation von VS2010 veröffentlicht hatte.
Ich hatte in einem Ordner namens PreCompiledWeb veröffentlicht , und das Vorhandensein der web.config hat es vermutlich durcheinander gebracht.
Ich habe einfach den Ordner zerstört und das Projekt aktualisiert.
Wenn ich auf diesen Fehler doppelklicke, komme ich zu dieser fehlerhaften Datei web.config, die mich darauf hingewiesen hat.
quelle
Möglicherweise liegt ein Versionsproblem vor, wenn Sie das Projekt von .Net Framework 2.0 herunterladen und es in VS2008 öffnen möchten. Dann müssen Sie auf die neueste Version aktualisieren und VS erstellt die Sicherung des Ordners im selben Stammverzeichnis holen Sie sich die Antwort hier .
quelle
Ich hatte diesen Fehler beim Erstellen der Lösung mit Web Deployment Project, das in meiner Lösung erstellt wurde. Ich behebe den Fehler, indem ich den Ordner lösche, in dem das Web Deployment Project erstellt wurde. Dieser Ordner wird im Attribut "Projektordner" der WDP-Eigenschaften angegeben
quelle
Löschen Sie die Ordner bin und obj. Erstellen Sie dann die Lösung neu.
quelle
Anscheinend gab es zwei web.config-Dateien in meiner Lösung. Ich verwende MVC4 und es gab eine andere Konfigurationsdatei unter Ansichten und ich habe die Änderung in der falschen Datei vorgenommen. Behoben dort hat mir geholfen.
Sie können jedoch jederzeit die Standardumleitung / -route in der Datei global.asax ändern.
quelle
Wahrscheinlich haben Sie einen Projektordner unter asp.net im Projektordner, der nicht als virtuelles Verzeichnis konfiguriert ist. Richten Sie das Projekt für die Ausführung in IIS ein.
quelle
Ich habe meiner Website ein Veröffentlichungsskript hinzugefügt. Löschen Sie am Ende den Ordner obj aus Ihrem Website-Ordner.
quelle
Ich habe dieses Problem häufiger, wenn "true" in der Projektdatei aktiviert ist.
Wie Jonny sagt:
quelle
Ich hatte ein Projekt, bei dem ich keine Webanwendung sein wollte. Ich wollte, dass es ein Ordner ist. Die Antwort war, die Datei web.config vollständig zu löschen. Es gehört nur in das Stammverzeichnis einer Anwendung.
quelle
Wenn Sie beim Veröffentlichen Ihrer Website oder Anwendung auf einem Server auf dieses Problem stoßen, besteht die einfache Lösung darin, einen Ordner mit Dateien in eine Webanwendung zu konvertieren.
quelle
Convert to Application
.Ich habe das gleiche Problem in VS 2013, nachdem ich mein Projekt im Debug-Modus veröffentlicht habe. Das Problem wurde durch Entfernen von obj / files gelöst
quelle
Ich habe ein Website-Projekt.
In meinem Fall hatte ich die Lösungsdatei auf einen anderen Pfad verschoben, was das Problem verursacht. Ich habe es am vorherigen Speicherort wiederhergestellt und das Problem ist behoben.
quelle
Für alle, die noch suchen, bestand meine Lösung darin, sowohl die Ordner bin als auch obj zu löschen und Visual Studio neu zu starten, um dies zu beheben.
quelle
Über Visual Studio hatte ich einen WCF-Dienst über FTP auf einem externen Server veröffentlicht. Es funktionierte lokal und beim Veröffentlichen auf einem internen Server, jedoch nicht auf dem externen Server. Die Lösung bestand darin , ohne
Site Path
Angabe eines zu veröffentlichen (dh direkt im Stammverzeichnis des virtuellen Verzeichnisses zu veröffentlichen).Ich bin mir nicht sicher, warum es funktioniert hat, da ich bereits versucht hatte, die Dateien über einen externen FTP-Client in das Stammverzeichnis zu verschieben - neben vielen anderen Versuchen, einschließlich aller hier aufgeführten. Vielleicht war es etwas mit dem Veröffentlichungsprofil, wie es für FabianVal war . Aber ich bin zu diesem Zeitpunkt nicht mehr in der Stimmung zu testen, da ich es eilig habe, nach all den Tagen, die mit diesem Problem verschwendet wurden, auf dem Laufenden zu bleiben.
quelle
Tipp 1: Reinigen und dann wieder aufbauen.
Tipp 2: Schließen Sie einfach VS und öffnen Sie es erneut.
Tipp 3: Das heruntergeladene Projekt befindet sich möglicherweise in einem anderen Unterordner. Öffnen Sie den Ordner, in dem sich Ihre .net-Dateien befinden.
c: / demo1 / demo / (alle Dateien)
Sie sollten die Demo von vs ... nicht von demo1 öffnen müssen.
quelle
Ich habe jede der oben genannten Lösungen ausprobiert, aber keine davon hat für mein Problem funktioniert. (Ich bin sicher, es gibt 1000 Lösungen für dieses Problem.) In meinem Szenario habe ich versucht, meinen WCF-Webdienst, den ich im Test hatte, in der Produktion zu veröffentlichen.
Ich habe jedoch nicht erkannt, dass wir in der Produktion nur HTTPS sind, was bedeutet, dass wir alles zu HTTPS umleiten. Wie sich herausstellte, habe ich über HTTP anstelle von HTTPS auf den Dienst verwiesen, wodurch der Fehler verursacht wurde. Die Lösung in diesem Szenario bestand darin, das Adressprotokoll einfach in HTTPS anstatt in HTTP zu ändern.
Ich hoffe, das hilft einer armen Seele da draußen, dieses Problem herauszufinden.
quelle