Errore di runtime: imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0

Ho armeggiato con i miei pacchetti ASP.NET MVC4 tramite NuGet e ora System.Web.WebPages.Razor v3 non verrà caricato. A volte altri pacchetti non caricheranno neanche.

Il mio collega esegue la soluzione senza problemi, quindi il problema è sicuramente la configurazione sul mio sistema di sviluppo (a differenza di tutto ciò che è stato archiviato).

Ho già provato le raccomandazioni su vari collegamenti SOF e altri forum, tra cui:

  • Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 2.0.0.0,
  • Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 2.0.0.0
  • Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0

Oltre a suggerimenti collegati da lì. Ho anche controllato il Pannello di controllo e non ho trovato programmi installati che facevano riferimento a MVC. (Se è importante, eseguo MS Win 7 SP 1.)

Sono aperto a tutti e tutti i suggerimenti.

Ecco le mie informazioni di dump di base:

Errore del server nell’applicazione ‘/’

Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o una delle sue dipendenze. Il sistema non trova il file specificato.

Descrizione: si è verificata un’eccezione non gestita durante l’esecuzione della richiesta Web corrente. Si prega di rivedere la traccia dello stack per ulteriori informazioni sull’errore e sulla sua origine nel codice.

Dettagli eccezione: System.IO.FileNotFoundException: imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o una delle sue dipendenze. Il sistema non trova il file specificato.

 Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of 

l’eccezione può essere identificata utilizzando la traccia dello stack di eccezioni di seguito.

 Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor, 

Versione = 3.0.0.0, Culture = neutro, PublicKeyToken = 31bf3856ad364e35 ‘non può essere caricato.

=== Informazioni sullo stato preliminare === LOG: Utente = CodesWithHammer LOG: DisplayName = System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (Completamente specificato) LOG: Appbase = file: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Progetti / MPP / MPP / LOG: Initial PrivatePath = c: \ users \ CodesWithHammer \ documents \ visual studio 2012 \ Projects \ MPP \ MPP \ bin Chiamata assembly: Microsoft.Web.WebPages.OAuth, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35.

=== LOG: questo bind inizia nel contesto di caricamento predefinito. LOG: Utilizzo del file di configurazione dell’applicazione: c: \ users \ CodesWithHammer \ documents \ visual studio 2012 \ Projects \ MPP \ MPP \ web.config LOG: Utilizzo del file di configurazione host: C: \ Users \ CodesWithHammer \ Documents \ IISExpress \ config \ aspnet .config LOG: utilizzo del file di configurazione della macchina da C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config. LOG: riferimento post-policy: System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: Tentativo di download del nuovo file URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / File temporanei ASP.NET / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.DLL. LOG: Tentativo di download del nuovo file URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / File temporanei ASP.NET / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.DLL. LOG: Tentativo di scaricare il nuovo file URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.DLL. LOG: Tentativo di download del nuovo file URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.DLL . LOG: Tentativo di scaricare il nuovo file URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / File temporanei ASP.NET / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.EXE. LOG: Tentativo di download del nuovo file URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / File temporanei ASP.NET / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.EXE. LOG: Tentativo di scaricare il nuovo file URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.EXE. LOG: Tentativo di download del nuovo file URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.EXE .

Stack Trace:

 [FileNotFoundException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, 

PublicKeyToken = 31bf3856ad364e35 ‘o una delle sue dipendenze. Il sistema non riesce a trovare il file specificato.] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start () +0

 [InvalidOperationException: The pre-application start initialization method Start on type 

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode ha generato un’eccezione con il seguente messaggio di errore: Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o uno di le sue dipendenze. Il sistema non riesce a trovare il file specificato.] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore ( 1 methods, Func ICollection 1 methods, Func 1 setHostingEnvironmentCultures) +550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods (metodi ICollection`1) +132 System.Web .Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath) +90 System.Web.Compilation.BuildManager.ExecutePreAppStart () +135 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Eccezione appDomainCreationException) +516

 [HttpException (0x80004005): The pre-application start initialization method Start on type 

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode ha generato un’eccezione con il seguente messaggio di errore: Imansible caricare il file o l’assembly ‘System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35’ o uno di le sue dipendenze. Il sistema non riesce a trovare il file specificato.] System.Web.HttpRuntime.FirstRequestInit (contesto HttpContext) +9874840 System.Web.HttpRuntime.EnsureFirstRequestInit (contesto HttpContext) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, contesto HttpContext) +254

Informazioni sulla versione: Versione Microsoft .NET Framework: 4.0.30319; Versione ASP.NET: 4.0.30319.18055

(Per coloro che hanno letto fino a questo punto: non ho abbastanza reputazione per rendere il tag estraibile i miei capelli . Se c’è un tag extant appropriato, includilo. KTHX.)

ETA: quando ho provato ad aggiornare manualmente Microsoft.AspNet.Mvc alla versione 3, ecco l’errore che ho ottenuto su Package Manager Console:

Installazione fallita. Rollback … Pacchetto di installazione: l’aggiornamento di “Microsoft.AspNet.Mvc 5.0.0” a “Microsoft.AspNet.Mvc 3.0.20105.1” non è riuscito. Imansible trovare una versione di “Microsoft.AspNet.Mvc.FixedDisplayModes” compatibile con “Microsoft.AspNet.Mvc 3.0.20105.1”. Alla riga: 1 char: 16 + Install-Package <<<< Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands .InstallPackageCommand

ETA2: ho ottenuto la directory dei pacchetti dal mio collega. Hanno MS.AspNet.Mvc v5 e stanno funzionando bene. Ma hanno anche MS.AspNet.Mvc.FixedDisplayModes v5. Quindi aggiungerò entrambi quelli. E sì, ho eseguito il backup dell’intera soluzione. 🙂

ETA3: Così ho aggiornato nuovamente ad AspNet MVC v5 e ho saltato il deprecato Mvc.FixedDisplayNodes. Poi ho avuto un problema con le versioni in conflitto di AspNet.WebPages, quindi ho usato questa correzione: Rilevate versioni in conflitto delle pagine Web ASP.NET: la versione specificata è “1.0.0.0”, ma la versione in bin è “2.0.0.0” in ASP.MET MVC 3

E ora il mio progetto funziona!

Grazie a tutti per l’aiuto!

Puoi trovarlo in Nuget Package Microsoft ASP.NET Web Pages Versione 3.2.0

Pagine Web Microsoft ASP.NET

Se hai un riferimento a una versione precedente alla 3.0.0.0, elimina il riferimento, aggiungi il riferimento alla DLL corretta nella cartella dei pacchetti e assicurati che “Copia locale” sia impostato su “Vero” nelle proprietà del file .dll .

Quindi nel tuo web.config (come menzionato da @MichaelEvanchik)

         

“Pacchetto di aggiornamento -reinstallare Microsoft.AspNet.WebPages”

Reinstallare i pacchetti nuget di Microsoft.AspNet.WebPages utilizzando questo comando nella console del gestore pacchetti. 100% di lavoro !!

stessa cosa mi è appena successo con NUGET.

il seguente tag ha aiutato

       

Inoltre, se ciò accade sul server, dovevo assicurarmi che stavo eseguendo il pool di applicazioni su un “account privilegiato” più per il file system, ma non credo che questo sia il tuo problema qui

nel nuovo actionmailer, “razorengine” è una dipendenza. L’ultima versione di Razorengine installa la dipendenza da System.Web.Razor 3.0.0.

Se si utilizza una versione precedente nella propria applicazione (suppongo che si stia utilizzando actionmailer in un altro progetto e si faccia riferimento alla funzionalità di posta da un altro progetto) si ottiene ovviamente questo problema.

In un’applicazione precedente, avevo un MVC di applicazione web che utilizza la versione 2.0.0 di system.web.Razor. Certo, ho avuto il problema. Come risolvere? => Semplice!

  1. Basta disinstallare l’intero actionmailer nel tuo progetto actionmailer.
  2. Installa una versione precedente di RazorEngin

Install-Package RazorEngine -Version 3.3.0 (poiché la versione 3.3.0 farà riferimento a system.web.razor 2.0.0)

  • Installa nuovamente actionmailer (non installerà l’ultima versione di RazorEngin perché l’hai già fatto da te)
  • Succes!

    Esiste un file System.Web.WebPages.Razor.dll nella cartella bin della tua app Web? Qual è la sua versione? (Explorer tasto destro, proprietà) Suppongo che non sia 3.0.0.0. Ottieni i pacchetti di nuget per la v3.0.0.0, magari copiando la cartella dei pacchetti dal tuo collega. O installalo manualmente: http://www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1

    EDIT: se copi materiale dal tuo collega, copia anche i numeri di versione rilevanti in packages.config. Questo è ciò che dice a nuget quali versioni inserire nella cartella dei pacchetti.

    Non volevo installare Visual Studio e ambiente di sviluppo, quindi ho installato AspNetMVC4Setup.exe nella macchina di Windows Server 2016 e ho risolto il problema. Il programma di installazione è stato scaricato dal sito Web di Microsoft.

    Proprietà del file del programma di installazione

    Nel mio caso il problema non è stato risolto seguendo uno dei metodi sopra elencati. Ho avuto tutti i percorsi nel mio pacchetto config corretto e le dll erano a posto come riferito, stavo ancora ricevendo errore di run time per System.Web.WebPages.Razor. I changed the localhost port number and this worked

    Non sono sicuro del motivo per cui ho riscontrato il problema e perché la modifica del numero di porta l’ha risolta. Inserendo questo messaggio ritengo che ciò possa essere utile per qualcuno là fuori.

    Nel mio caso, il problema non riguardava il reindirizzamento obbligatorio o il pacchetto / dll di Microsoft.AspNet.Razor mancanti / non corrispondenti, quindi le soluzioni di cui sopra non funzionavano.

    Il problema, nel mio progetto non web, era che RazorEngine + Microsoft.AspNet.Razor sono stati installati in un progetto diverso (Progetto A) rispetto al progetto di assemblaggio / avvio chiamante (Progetto B) . Poiché non esiste un riferimento esplicito a Razor, System.Web.Razor NON è stato copiato in / bin in una build di rilascio.

    La soluzione era installare RazorEngine + Microsoft.AspNet.Razor nel punto di ingresso dell’applicazione (Progetto B, ConsoleApplication nel mio caso), quindi System.Web.Razor viene copiato in / bin e tutti sono felici.

    Ho avuto lo stesso errore, quello che ha funzionato per me è:

    1. Correggi errore di riferimento.
    2. Chiudi Visual Studio.
    3. Elimina pacchetti.
    4. Elimina la cartella .vs.
    5. Esegui di nuovo il progetto.
    6. Ricostruisci il progetto.

    Ho avuto questo problema perché ho disinstallato VS 2012, non voglio reinstallarlo, quindi ho scaricato AspNetMVC4Setup.exe da Microsoft.com e risolto il problema.

    https://www.microsoft.com/en-us/download/details.aspx?id=30683