Meine neue ASP.NET MVC-Webanwendung funktioniert auf meiner Entwicklungsarbeitsstation, wird jedoch nicht auf meinem Webserver ausgeführt ...
Serverfehler in '/' Anwendung.
Konfigurationsfehler
Beschreibung: Bei der Verarbeitung einer Konfigurationsdatei, die zur Bearbeitung dieser Anforderung erforderlich ist, ist ein Fehler aufgetreten. Bitte überprüfen Sie die spezifischen Fehlerdetails unten und ändern Sie Ihre Konfigurationsdatei entsprechend.
Parser-Fehlermeldung: Datei oder Assembly 'System.Web.Mvc, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden.
Quellfehler:
Line 44: <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45: <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46: <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47: <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48: <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Quelldatei : C: \ inetpub \ www.example.org \ web.config Zeile: 46
Assembly Load Trace: Die folgenden Informationen können hilfreich sein, um festzustellen, warum die Assembly 'System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' nicht geladen werden konnte.
WRN: Die Protokollierung der Baugruppenbindung ist deaktiviert. Setzen Sie den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) auf 1, um die Protokollierung von Assemblybindungsfehlern zu aktivieren. Hinweis: Mit der Protokollierung von Assemblybindungsfehlern ist ein Leistungsverlust verbunden. Entfernen Sie zum Deaktivieren dieser Funktion den Registrierungswert [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Versionsinformationen: Microsoft .NET Framework Version: 2.0.50727.3053; ASP.NET-Version: 2.0.50727.3053
Muss ich die AspNetMVCBeta-setup.msi auf dem Server installieren ? Oder gibt es ein anderes Installationsprogramm für Server?
quelle
Ich bin auf das gleiche Problem gestoßen wie sgriffinusa. Zusätzlich zu den Referenzen schlägt Phils Artikel vor: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . Ich habe diese hinzugefügt:
Godaddy Deployment hat perfekt funktioniert. Deaktivieren Sie benutzerdefinierte Fehler und fügen Sie Verweise hinzu, um die Fehler zu korrigieren. Das sollte dich in die richtige Richtung führen.
quelle
Die Installation von MVC direkt auf Ihrem Webserver ist eine Option, da die Assemblys dann im GAC installiert werden. Sie können die Assemblys auch bin bereitstellen, um Ihren Server von Assemblys vor der Veröffentlichung fernzuhalten, bis eine endgültige Version verfügbar ist.
Phil Haack hat vor ein paar Tagen einen schönen Artikel über die Bereitstellung von MVC zusammen mit Ihrer App veröffentlicht. Daher ist eine direkte Installation nicht erforderlich:
http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
quelle
Beim Versuch, meine MVC3 Razor-Webanwendung auf GoDaddy Shared Hosting bereitzustellen, ist dasselbe Problem aufgetreten. Es gibt einige zusätzliche DLLs, auf die verwiesen werden muss. Details hier: http://paulmason.biz/?p=108
Grundsätzlich müssen Sie zusätzlich zu den in @ Haackeds Beitrag aufgeführten Verweisen auf Folgendes hinzufügen und festlegen, dass sie wie beschrieben lokal bereitgestellt werden.
quelle
Klicken Sie in VS2010 im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie "Bereitstellbare Abhängigkeiten hinzufügen". Aktivieren Sie dann die Kontrollkästchen für MVC im folgenden Dialogfeld.
Dadurch wird im Projekt ein Ordner '_bin_deployableAssemblies' erstellt, der alle in anderen Antworten genannten DLL-Dateien enthält. Ich glaube, diese werden beim Erstellen eines Bereitstellungspakets in den Ordner bin kopiert.
quelle
Einfache Lösung. Klicken Sie in VS2010 mit der rechten Maustaste auf Ihr MVC-Projekt, wählen Sie "Bereitstellbare Abhängigkeiten hinzufügen ...", wählen Sie die gewünschten Optionen aus und klicken Sie auf "OK"
quelle
Schnelle und einfache Lösung: Ich hatte dieses Problem mit Microsoft.AspNet.Mvc -Version 5.2.3 und fand nach Durchlaufen all dieser Threads eine einfachste Lösung.
Folgen Sie einfach den Schritten:
Dadurch werden automatisch alle Probleme mit Referenzen behoben. Siehe Bild unten:
quelle
Hatte das gleiche Problem und fügte die gesamte Assembly hinzu, die sie sagten, bekam aber immer noch den gleichen Fehler.
Es stellt sich heraus, dass Sie die " Spezifische Version " = False machen müssen.
quelle
Wir möchten es hinzufügen, weil wir eine Klassenbibliothek erstellen, die es verwendet.
Für mich ist es hier ...
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
quelle
Wenn Sie KEINEN Hosting-Anbieter verwenden und Zugriff auf den zu installierenden Server haben ... Installieren Sie dann die MVC 3-Update-Tools. Führen Sie dies aus. Dadurch sparen Sie stundenlange Probleme auf einem Windows 2003-Server / IIS6-Computer. Ich habe diese Seite hier kommentiert. Nuget.Core.dll Versionsnummer stimmt nicht überein
quelle
Neben dem Haack-Posten hat Hanselman auch einen ähnlichen Posten. BIN Bereitstellen von ASP.NET MVC 3 mit Razor auf einem Windows Server ohne installierte MVC
Für mich war die Lösung "Copy Local = true" unzureichend, da die Projektreferenzen meiner Website nicht alle fehlenden DLLs enthielten. Wie Scott in seinem Beitrag erwähnt, musste ich außerdem zusätzliche DLLs aus dem folgenden Ordner in meiner Entwicklungsbox abrufen: C: \ Programme (x86) \ Microsoft ASP.NET \ ASP.NET-Webseiten \ v1.0 \ Assemblies. Die Fehlermeldung informierte mich darüber, welche DLL fehlte (System.Web.Infrastructure, System.Web.Razor usw.). Ich fügte jede fehlende DLL nacheinander hinzu, bis sie funktionierte.
quelle
Ich habe ein "Update-Paket - Microsoft.AspNet.Mvc neu installieren" durchgeführt, um es in Visual Studio 2015 zu beheben.
quelle
Eine wichtige Überlegung ist die Datei web.config. Einige Pakete können Ihre Bindungsumleitungen beschädigen und Chaos verursachen (das Rogue-Paket war ein internes Paket, bei dem ich die web.config nicht aus dem Paket entfernt oder die web.config im Paket sichergestellt habe hat keine Bindungsumleitungen. Wenn Sie beispielsweise den doppelten und falschen Knoten entfernen, wird dies behoben
Durch Entfernen der Zeilen 8 bis 24 wird der Build korrigiert.
quelle
Überprüfen Sie auch die Version der Assembly in der Datei web.config in Ihrem Views-Ordner und stellen Sie sicher, dass sie übereinstimmt. Ich vergesse manchmal, dass sich an diesem Ort eine zweite web.config befindet.
quelle
Dieser Blog-Beitrag könnte ein Duplikat von Phil sein, aber es könnte helfen:
http://www.tugberkugurlu.com/archive/deployment-of-asp-net-mvc-3-rc-2-application-on-a-shared-hosting-environment-without-begging-the-hosting-company
quelle
Ich hatte das gleiche Problem mit einer Reihe von Assembly-Dateien, nachdem ich das Projekt auf eine andere Lösung verschoben hatte.
Für mich hat die
web.config
Datei versucht, diese Assembly hinzuzufügen:Dachte, die Referenz im Projekt zeigte auf die Version
3.0.0.0
(klicken Sie auf die Referenz und scrollen Sie zum Ende der Eigenschaften). Daher habe ich gerade die Referenzversion in derweb.config
Datei geändert .Ich weiß nicht, ob das nur ein Fehler war. Das Problem beim Hinzufügen aller anderen Referenzen bestand darin, dass die Referenzen in der Konfigurationsdatei angezeigt wurden, aber im Projekt (im Lösungs-Explorer) überhaupt nicht referenziert wurden und die erforderlichen Dateien nicht mit den übrigen Projektdateien kopiert wurden. wahrscheinlich weil ich nicht bin
"copy local = true"
Jetzt konnte ich diese Assemblys nicht in den addierbaren Assemblys finden (indem Sie mit der rechten Maustaste auf die Referenz klicken und versuchen, sie aus den Assemblys oder Erweiterungen hinzuzufügen). Stattdessen habe ich eine neue MVC-Lösung erstellt, die alle benötigten Assemblys und Referenzen hinzufügte, sie unter den neuen Projektreferenzen im Lösungs-Explorer fand und ihren Pfad im Eigenschaftenfenster für die Referenz fand.
Dann habe ich einfach die benötigten Bibliotheken in das andere Projekt kopiert und auf sie verwiesen.
quelle
Nachdem ich alles ausprobiert hatte und immer noch fehlgeschlagen war, war dies meine Lösung: Ich erinnerte mich, dass ich die MVC-Version in meinem Visual Studio zuletzt aktualisiert hatte, also führte ich das Projekt von einem anderen Visual Studio (einem anderen Computer) aus und lud dann die DLLs hoch und es funktionierte. Vielleicht hilft es jemandem ...
quelle
Ich verwende Jenkins mit .net-Projekten und hatte Probleme mit MVC 4-Referenzen.
Ich habe mein Problem endlich gelöst, indem ich eine .Net-Referenzsuchmaschinenfunktion verwendet habe, die auf der Registrierung basiert.
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx"
Sie können einen Unterschlüssel erstellen und den Standardschlüssel beispielsweise auf "c: \ myreferenceedir" setzen.
Es hat mich mit MVC-Versionen und auch ASP.net-Webseiten gerettet.
Nützlich, um Verweise auf das Dialogfeld "Verweis hinzufügen" hinzuzufügen
http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/
quelle
Wie andere bereits erwähnt haben, fügen Sie diese Referenzen zu visuellen Studios mit dem
Copy Local
Set to hinzutrue
. (Ich musste auch hinzufügenSystem.Web.Webpages
)quelle
Ich habe "Microsoft ASP.NET Razor" mithilfe von NuGet-Paketen verwalten hinzugefügt.
Mit Referenzen hinzufügen hatte ich aus irgendeinem Grund nur System.Web.Helpers 1.0.0 und 2.0.0 ... aber nicht 3.0.0.
Eine andere Option, die von mir aus funktioniert hat, war, die Verweise auf System.Web.Mvc und System.Web.Http ... zu löschen und sie dann erneut zu den Paketpositionen in der csproj-Datei hinzuzufügen (Sie können das Projekt am einfachsten mit bearbeiten ein Texteditor):
quelle