Wir stießen auf ein interessantes Problem, das ich noch nicht erlebt habe. Wir haben ein großes ASP.NET 3.5 SP1-Webanwendungsprojekt in Visual Studio 2008 SP1, das mit einem Website-Bereitstellungsprojekt kompiliert und bereitgestellt wird. Alles hat gut funktioniert für das letzte Jahr, bis nach einem Check-in gestern begann die App kritisch mit BadImageFormatException
zu scheitern.Gibt es Größenbeschränkungen für das .NET-Assembly-Format?
Der fragliche Check-in ändert nichts besonders und die Fehler kommen aus Bereichen der App nicht einmal geändert. Mithilfe von Reflector haben wir die beanstandeten Methoden untersucht, um festzustellen, dass im Code ungültige Zeichenfolgen enthalten waren (which .NET Reflector humorously interpreted as Chinese characters). Wir haben dies wiederholt auf mehreren Maschinen reproduziert, so dass es nicht mit der Hardware zu tun hat.
Eine weitere Überprüfung ergab, dass diese Garbage-Strings nicht in den Assemblys vorhanden waren, die während der Bereitstellung als aspnet_merge.exe Inputs verwendet wurden.
aspnet_merge.exe/Web Deployment Project Output Baugruppen Eigenschaften:
- Merge alle Ausgänge auf einer einzigen Baugruppe
- jeden einzelnen Ordner Ausgang
- Merge alle Seiten auf seine eigene Montage Merge und Steuerausgänge zu einer einzelnen Baugruppe
- Erstellen Sie eine separate Baugruppe für jede Seite und den Steuerausgang
In den Web-Deployment-Projekteigenschaften, wenn wir die Einarbeitungsoptionen auf die erste Option („Merge alle Ausgänge auf einer einzigen Baugruppe“) zu erleben wir das Problem, doch alle der anderen Optionen perfekt funktionieren!
Meine Frage: weiß jemand, warum das passiert? Gibt es eine Größenbeschränkung für die Fähigkeiten von aspnet_merge.exe (die resultierende zusammengeführte DLL ist etwa 19,3 MB groß)? Gibt es andere bekannte Probleme beim Zusammenführen der Ausgabe von WAPs?
Ich würde es lieben, wenn irgendwelche Assembly Format/aspnet_merge.exe Gurus über solche Einschränkungen wie diese wissen. Scheint mir wie eine 25MB Assembly, während groß, ist nicht unverschämt.
Können Sie das Bild korrigieren oder den Link entfernen? – Laurel