Ich erhalte diesen Fehler, da mein Projekt die Referenz für die OWIN
Startklasse nicht finden kann . Ich habe sogar alle OWIN-Referenzpakete über Nuget installiert, wobei immer noch das gleiche Problem auftritt. Ich benutze Visual Studio 2012
und MVC4
.
Die folgenden Fehler sind beim Laden der App aufgetreten.
- Es wurde keine Assembly gefunden, die ein OwinStartupAttribute enthält.
- Es wurde keine Assembly gefunden, die eine Startup- oder [AssemblyName] .Startup-Klasse enthält. Um die OWIN-Starterkennung zu deaktivieren, fügen Sie in Ihrer web.config die appSetting owin: AutomaticAppStartup mit dem Wert "false" hinzu. Um die OWIN-Startassembly, -Klasse oder -Methode anzugeben, fügen Sie appSetting owin: AppStartup mit dem Namen der vollständig qualifizierten Startklasse oder Konfigurationsmethode in Ihrer web.config hinzu.
c#
asp.net-mvc-4
visual-studio-2012
owin
Krunal Patil
quelle
quelle
Startup.cs
im Projekt?OwinStartupAttribute
? Hat Ihre Versammlung eineStartup
oder eine[AssemblyName].Startup
Klasse? Haben Sie die OWIN-Starterkennung deaktiviert, indem Sie die appSettingowin:AutomaticAppStartup
mit dem Wert "false" in Ihrer web.config hinzugefügt haben? Haben Sie eines dieser Dinge getan und fragen sich, warum es nicht funktioniert? Was ist deine Frage?Antworten:
Erstellen Sie eine Klasse mit Name Startup Dies wird Ihnen helfen ..
quelle
<appSettings>
Bereich hinzu, wie:<add key="owin:AppStartup" value="[NameSpace].Startup" />
[assembly:OwinStartupAttribute(typeof(Identity_Test.Startup))]
inAssemblyInfo.cs
funktionieren würde.[assembly: OwinStartup(typeof([YourStartupNamespaceName].Startup))]
In unserem Projekt brauchten wir die OWIN-Funktionalität nicht, daher haben wir alle Owin-Referenzen aus dem ursprünglichen ASP.NET MVC-Vorlagenprojekt entfernt. Das Problem trat nach dem Entfernen der OWIN-Startklasse auf.
Das Problem war die zusätzliche Owin-DLL in meinem Bin-Ordner. Als ich sie löschte, wurde das Problem behoben. Sie sollten sie löschen, indem Sie den Ordner bin löschen. Clean Solution löscht diese DLLs nicht.
Irgendwie führt IIS die OWIN-DLLs immer noch aus, wenn sie sich im bin-Ordner befinden.
quelle
<add key="owin:AutomaticAppStartup" value="false"/>
als AppSetting hinzugefügt. Nur ein paar Ratschläge für Leute, die dies versuchen und es immer noch nicht gelingt.In Visual Studio 2013 RC2 gibt es dafür eine Vorlage. Fügen Sie es einfach dem Ordner App_Start hinzu.
Die Vorlage erzeugt eine solche Klasse:
quelle
Wenn Sie den OWIN-Start nicht verwenden möchten, sollten Sie Folgendes zu Ihrer Datei web.config hinzufügen :
Fügen Sie unter AppSettings die folgende Zeile hinzu:
So sollte es in Ihrer web.config aussehen:
quelle
Suchen Sie nach der
Startup.cs
Datei, möglicherweise fehlt eine davon. Diese Datei ist der Einstiegspunkt für OWIN. Es scheint also, dass dies fehlt. Schauen Sie sichOWIN Startup class
hier an, um zu verstehen, was los ist.Wie in Ihrem Fehler angegeben, können Sie dies in der Datei web.config wie folgt deaktivieren:
quelle
<add key="owin:AutomaticAppStartup" value="false" />
habe der<appSettings>
Gruppe hinzugefügt und die Startup.cs wurde nicht mehr benötigt.<add key="owin:AutomaticAppStartup" value="false" />
tun? Wird es irgendeine Funktionalität deaktivieren? Müssen wir die App später starten, um OWIN-Funktionen nutzen zu können?Zuerst müssen Sie Ihre Startdatei erstellen und nachdem Sie das Gebietsschema dieser Datei in web.config im appSettings-Tag mit dieser Zeile angegeben haben:
<add key="owin:AppStartup" value="[NameSpace].Startup"/>
Es hat mein Problem gelöst.
quelle
Ich hatte dieses Problem, verstehe, dass dies im Fall des OP nicht falsch war, aber in meinem Fall hatte ich eine Startup-Klasse, die es einfach nicht standardmäßig fand.
Mein Problem war, dass ich Leerzeichen in meinem Assembly-Namen hatte und daher der Standard-Namespace vom Assembly-Namen abweicht. Daher unterscheidet sich der Namespace für die Startklasse vom Assembly-Namen.
Wie der Fehler andeutet, sucht es gemäß Konvention nach [Assembly Name] .Startup für die Klasse ... Stellen Sie daher sicher, dass der Namespace für Ihre Startup-Klasse mit dem Assembly-Namen übereinstimmt. Das Problem wurde für mich behoben.
quelle
Ich habe die meisten der hier empfohlenen Korrekturen ausprobiert und konnte die Fehlermeldung immer noch nicht vermeiden. Ich habe schließlich eine Kombination einiger empfohlener Lösungen durchgeführt:
Dieser Eintrag wurde oben im
AppSettings
Abschnitt meiner web.config hinzugefügt :<add key="owin:AutomaticAppStartup" value="false"/>
Erweitert den Knoten Referenzen meines Projekts und löscht alles, was die Zeichenfolge enthält
OWIN
. (Ich habe mich dabei sicher gefühlt, da meine Organisation in Zukunft kein aktiver OWIN-Anbieter ist (und auch nicht sein wird).)Ich habe dann geklickt
Run
und meine Homepage richtig geladen.quelle
In meinem Fall hatte ich das Projekt umbenannt und die Ordnerstruktur geändert. Ich habe festgestellt, dass das Aktualisieren des RootNameSpace und des AssemblyName in der .csproj-Datei, in der der Fehler ausgelöst wurde, den Fehler behoben hat. Wenn Sie die Pfade Ihres Projekts geändert haben, würde ich empfehlen, dies ebenfalls zu überprüfen.
quelle
Mein Fall? Ich hatte eine Startdatei, diese ist jedoch im Projekt ausgeschlossen. Ich habe es gerade aufgenommen und der Fehler ist geblieben.
quelle
Dies kann auch in Visual Studio 2015 auftreten, wenn Sie Azure AD mit einem MVC-Projekt verwenden. Hier wird die Startdatei als Startup.Auth.cs im Ordner App_Start erstellt, es fehlt jedoch die
Fügen Sie es also hinzu und Sie sollten bereit sein zu gehen. Dies geschieht vor dem Start des Namespace.
quelle
Es ist auch möglich, diese Ausnahme zu erhalten (selbst wenn Sie eine korrekt konfigurierte Startklasse haben), wenn Sie über IIS Express ausgeführt werden und Ihr virtuelles Verzeichnis nicht korrekt konfiguriert ist.
Als ich auf dieses Problem stieß, bestand die Lösung darin, einfach auf die Schaltfläche "Virtuelles Verzeichnis erstellen" auf der Registerkarte "Web" der Projekteigenschaften zu klicken (Verwenden von Visual Studio 2013).
quelle
Versuchen Sie wirklich, OWIN zu Ihrem Projekt hinzuzufügen, oder ist dies etwas Unerwartetes?
Wenn Sie OWIN hinzufügen möchten, müssen Sie eine Startup-Klasse hinzufügen.
Falls Sie keinen Verweis auf Owin benötigen :
Löschen Sie Owin.dll aus Ihrem Ordner / bin .
Owin.dll ist derjenige, der versucht, die Startup-Klasse zu identifizieren.
quelle
Obwohl ich nicht vollständig erklären kann, warum dies das Problem für mich gelöst hat, stieß ich auf ein solches Problem, nachdem ich mein API-Projekt so geändert hatte, dass es in separate Ordner
\debug
und\release
Ordner umgewandelt wurde. Nachdem ich diese Änderung zurückgesetzt hatte, um sie in einen einzelnen\bin
Ordner zu erstellen, funktionierten die Dinge.Ich habe meine Erfahrungen hier niedergeschrieben: Die OWIN-Startklasse kann nach dem Umbenennen der ASP.NET-Projektdatei nicht in IIS Express ausgeführt werden
quelle
Ich bin auf dieses Problem gestoßen, nachdem ich mit SignalR experimentiert und es dann aus dem Projekt entfernt hatte. Um dies zu beheben, musste ich den Inhalt des Ordners bin für die Site auf dem Remote-Server löschen und dann erneut veröffentlichen.
quelle
Überprüfen Sie einfach, ob Ihre
packages.config
Datei eingecheckt ist (wenn sie ausgeschlossen ist, wird im Explorer ein rotes Symbol für die Nichteintragung angezeigt). Aus irgendeinem bizarren Grund wurde meiner ausgeschlossen und verursachte dieses Problem.quelle
Beim Starten meines Projekts über das Browser Link Dashboard in VS2013 wurde immer wieder derselbe Fehler angezeigt. Aber wenn ich mein Projekt im Debug-Modus ausführte, würde es funktionieren. Ich konnte nicht herausfinden, warum und wie das Browser Link Dashboard funktioniert. Ich habe die Startdatei überprüft, es war in Ordnung, habe die Zeile appSetting hinzugefügt, wie in einigen der Antworten "" beschrieben, aber nichts hat funktioniert.
Anscheinend habe ich falsch geklickt, indem ich im Browser-Dashboard auf den Link FALSCH geklickt habe. Alle Links zu Lösungsprojekten werden im Browser-Dashboard angezeigt, aber nur der Link zu Startprojekten funktioniert. Sie müssen auf den Link des Startprojekts klicken.
Beispiel: Ich habe 2 Projekte, die beide im Browser-Dashboard angezeigt werden, aber nur das als Startprojekt markierte Projekt funktioniert (wird im Projektmappen-Explorer fett angezeigt). Ich dachte, dies könnte jemandem helfen, das Offensichtliche zu tun. Es hat mich 2 gekostet Tage, um auf das Offensichtliche zu stoßen.
quelle
Ich hatte dieses Problem, als ich die neueste Version von TFS erhielt, während andere Projekte in mehreren Instanzen von VS geöffnet waren. Ich habe bereits alle Korrekturen oben. Durch erneutes Öffnen von VS wurde das Problem behoben.
quelle
In meinem Fall habe ich mich beim FTP-Server angemeldet. Sicherung der aktuellen Dateien auf dem FTP-Server. Löschen Sie alle Dateien manuell vom FTP-Server. Saubere Lösung, Code erneut bereitgestellt. Es funktionierte.
quelle