Imansible caricare file o assembly … Il parametro non è corretto

Recentemente ho incontrato la seguente eccezione alla soluzione C #:

Errore 2 Imansible caricare il file o l’assembly ‘Newtonsoft.Json, Version = 3.5.0.0, Culture = neutral, PublicKeyToken = b9a188c8922137c6’ o una delle sue dipendenze. Il parametro non è corretto. (Eccezione da HRESULT: 0x80070057 (E_INVALIDARG))

Questo non dipende né dal mio codice né dal nome dell’assembly (come Newtonsoft.Json in questo caso).

Quando elimino questa DLL dalla soluzione, il compilatore ne parla di un’altra nella stessa eccezione. Quindi suppongo che qualcuno debba essere spento / acceso sul mio PC 🙂

Sembra che un assembly corrotto sia referenziato.

Cancella entrambi:

  1. la cartella \ bin del tuo progetto

  2. la cartella temp (dovrebbe essere C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files in windows 7)

e vedere se l’errore si verifica ancora

A seconda se stai usando X64 potresti dover ripulire un paio di punti. Basta pulire la mia directory utente non era abbastanza.

  1. % TEMP% \ File ASP.NET temporanei
  2. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ File ASP.NET temporanei
  3. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ File temporanei ASP.NET
  4. C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ File temporanei ASP.NET
  5. C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ File ASP.NET temporanei

Questo elenco crescerà come se fossero installate altre versioni del framework.

Ho dovuto cancellare

C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files

Solo allora il problema è stato risolto.

Per sapere cosa cancellare di sicuro – aggiungi la seguente chiave di registro:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\EnableLog (DWord set to 1). 

Quindi vedrai output come sotto. Questo ti dice dove asp.net sta tentando di caricare le tue DLL. Cancella questa directory.

 LOG: This bind starts in default load context. LOG: Using application configuration file: c:\app\AtlasAdvisor\web\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet.DLL.** LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet/Avanade.ViddlerNet.DLL**. 

Cancellare i file di framework temporanei per il tuo progetto in: –

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ File temporanei ASP.NET \

È anche ansible cancellare la directory dei pacchetti e consentire a NuGet di scaricare nuovamente i pacchetti mancanti

ha risolto il problema per me

Elimina tutti i file da queste cartelle.

C: /Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files C: /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files

Ottenere un nuovo set di binari dal controllo del codice sorgente ha aiutato.

Grazie

Basta cancellare questa cartella: (solo Windows x64)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ File temporanei ASP.NET

Grazie Alex, il tuo secondo punto mi ha aiutato a risolvere questo problema.

Sembra che a meno che non si esegua Visual Studio come amministratore in Windows 7, esso memorizza i propri file temporanei localmente anziché C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ File temporanei ASP.NET.

Vedere seguente post sul blog: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx

Ho avuto lo stesso problema qui – sopra le soluzioni non ha funzionato. Il problema era con ActionMailer. Ho eseguito i seguenti comandi di disinstallazione e installazione di nuget

 uninstall-package ActionMailer install-package ActionMailer 

Risolto i miei problemi, spero che possa aiutare qualcun altro.

Ho appena cancellato i miei dati temporanei dell’applicazione da questo percorso

 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files 

Risoluzione del problema

Cancellare C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ I file temporanei ASP.NET funzionavano per me. Pensando di automatizzare il processo di cancellazione per evitare il problema in futuro.

Se si utilizzano i Data Tools di SQL Server 2012, che utilizzano la shell VS2010 al 1 ° maggio 2013, verificare le impostazioni di Configuration Manager. Una modifica del nome del server da Workflow a xCPWorkflow è stata sufficiente per produrre lo stesso esatto. Il parametro non è corretto (eccezione da HRESULT: 0x80070057 (E_INVALIDARG)) .

Questo può accadere mentre si fa riferimento alle DLL del wrapper COM. All’interno del progetto di Visual Studio, in Riferimenti, selezionare le DLL del wrapper COM a cui si fa riferimento e assicurarsi che abbiano i seguenti valori di proprietà: “Incorpora tipi di interoperabilità”: False e “Versione specifica”: False.

Puoi pulire, compilare o ribuild l’applicazione o semplicemente eliminare i file temporanei di ASP.NET in C: \ Users \ YOUR USERNAME \ AppData \ Local \ Temp

Funziona come per magia. Nel mio caso ho avuto un problema di associazione all’assemblaggio dicendo che non potevo caricare il file bla bla bla

puoi anche vedere la soluzione 2 come http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St

Vedo che molti esperti hanno pubblicato sulla cancellazione di directory temporanee di ASP .Net run-time relative a ogni framework .Net ospitato sulla macchina come in questa risposta. Ma credo che dovremmo conoscere la logistica chiara del perché dobbiamo chiarire ciecamente tutte le directory di lavoro temporanee di tutti i framework .Net. Secondo me, non dovrebbe essere il caso.

Il mio consiglio sarebbe che dovresti provare un approccio di eliminazione delle directory appuntite per risolvere questo problema. Come sapresti quale directory cancellare?

  1. Vai su IIS e fai clic con il pulsante destro del mouse sul nodo del tuo sito web nel riquadro di navigazione a sinistra per aprire il menu di scelta rapida. Nel menu di scelta rapida scegliere Manage Application -> Advanced Settings... per aprire la finestra Advanced Settings .
  2. Controlla il pool di applicazioni a cui è assegnato il tuo sito web. Nel mio caso è DefaultAppPool come mostrato di seguito:

inserisci la descrizione dell'immagine qui

  1. Ora vai al nodo Application Pools nella barra di navigazione sinistra in IIS. Ora verifica che la versione CLR .Net sia eseguita dal tuo pool di app. Nel mio caso è v4.0 come mostrato di seguito:

inserisci la descrizione dell'immagine qui

Poiché la versione CLR ospitata dal mio pool di app è la v4.0, quindi ho cancellato in modo preciso solo i file temporanei nella cartella relativi ad ASP .NET v4.0 solo come di seguito:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files 

E questo è tutto. Il mio problema è stato risolto.

Lezione appresa : questo è indicativo del fatto che tutti i file temporanei utilizzati dal tuo sito Web non sono sparsi su più directory ma sono contemporaneamente indirizzati dal tuo gruppo di app. Quindi è necessario cancellare solo quella cartella specifica.

Il problema si riferisce alla versione di runtime .NET di una libreria di classi di riferimento (riferimenti estesi, selezionare la libreria e verificare la “Versione runtime”. Ho avuto un problema con Antlr3.Runtime, dopo aver aggiornato il mio progetto di Visual Studio alla v4.5. utilizzato NuGet per disinstallare Microsoft ASP.NET Web Optimization Framework (a causa di una catena di dipendenze che mi impediva di disinstallare Antlr3 direttamente)

Ho quindi utilizzato NuGet per reinstallare Microsoft ASP.NET Web Optimization Framework. Questo ha reinstallato le versioni di runtime corrette.

Nel mio caso volevo compilare una DLL visibile COM. Il problema era che una versione precedente di questa DLL si trovava qui:

 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 

In questo modo Visual Studio ha caricato questa versione anziché quella appena compilata, mentre tentava di registrarla.

Cancella tutti i file dalla cartella temporanea (C: \ Users \ nome_utente \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ cartella del progetto)

A volte, inoltre, è necessario pulire questa cartella: C: \ Windows \ Temp \ Temporary ASP.NET

Ho riscontrato lo stesso errore perché l’applicazione non ha trovato framework dipendenti nella cartella C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ . Ho appena ripristinato il mio studio di Visual che ha aggiunto il framework richiesto in posizione sopra e funziona perfettamente.

Nel mio caso, la modifica del numero di porta IISExpress nelle proprietà del mio progetto ha risolto il problema.

Se qualcun altro utilizza il set di strumenti WiX, ho scoperto che il mio progetto di installazione aveva un riferimento a un vecchio progetto che era stato rimosso di recente dalla soluzione. Mi ci è voluto un po ‘per rendermi conto dato che ci sono diversi progetti nella soluzione che stavo tentando di build e il messaggio non indicava quale progetto non riusciva a build (e puliva, cosa che stava fallendo pure).

Ho avuto utenti di Siemens Teamcenter 10 Client per Microsoft Office ottenendo lo stesso errore su una DLL diversa. Nessuna delle altre risposte ha funzionato. La soluzione era eliminare le cartelle in

 C:\Users\%username%\AppData\Local\assembly\ 

Ho avuto questo problema durante l’esecuzione del controller in MVC. Ho cambiato la versione .net framework. Il problema è stato risolto