Ci siamo imbattuti in un problema interessante che non avevo mai sperimentato prima. Abbiamo un progetto di app Web ASP.NET 3.5 SP1 su larga scala in Visual Studio 2008 SP1 che viene compilato e distribuito utilizzando un progetto di distribuzione del sito Web. Tutto ha funzionato bene per l'anno scorso, fino a dopo un check-in l'app ha iniziato a fallire in modo critico con BadImageFormatException
.Esistono limiti di dimensioni al formato di Assemblaggio .NET?
Il check-in in questione non cambia nulla di particolarmente speciale e gli errori provengono da aree dell'app non sono nemmeno cambiati. Usando Reflector abbiamo ispezionato i metodi incriminati per scoprire che nel codice c'erano stringhe di garbage (which .NET Reflector humorously interpreted as Chinese characters). Lo abbiamo riprodotto in modo coerente su diverse macchine, quindi non sembra essere correlato all'hardware.
Un'ulteriore ispezione ha mostrato che quelle stringhe di immondizia non erano non esistenti negli Assiemi utilizzati come input su aspnet_merge.exe durante l'implementazione.
aspnet_merge.exe/Web Output progetto Deployment assiemi Proprietà:
- Unisci tutte le uscite ad un unico assembly
- Merge ogni uscita singola cartella a propria assemblea
- unire tutte le pagine e uscite di controllo a un singolo assieme
- Creare un assieme separato per ogni pagina e l'uscita di controllo
nelle proprietà del progetto di distribuzione web, se si impostano le opzioni di unione per la prima opzione ("Unisci tutte le uscite ad un unico montaggio") si verifica il problema, eppure tutte le altre opzioni funzionano perfettamente!
La mia domanda: qualcuno sa perché questo sta accadendo? Esiste un limite per le dimensioni delle funzionalità di aspnet_merge.exe (la risultante DLL unita è di circa 19,3 MB)? Ci sono altri problemi noti con la fusione dell'output di WAP?
Mi piacerebbe se qualche guru di formato Assembly/aspnet_merge.exe fosse a conoscenza di tali limiti di questo tipo. Mi sembra come un Assemblea da 25 MB, mentre grande, non è scandaloso.
È possibile correggere l'immagine o rimuovere il collegamento? – Laurel