हम एक दिलचस्प मुद्दे में भाग गए जो मैंने पहले अनुभव नहीं किया है। हमारे पास विजुअल स्टूडियो 2008 एसपी 1 में बड़े पैमाने पर उत्पादन एएसपी.नेट 3.5 एसपी 1 वेब ऐप प्रोजेक्ट है जो एक वेबसाइट परिनियोजन परियोजना का उपयोग करके संकलित और तैनात हो जाता है। पिछले साल के लिए सबकुछ ठीक काम करता है, कल चेक-इन के बाद तक ऐप ने BadImageFormatException
के साथ गंभीर रूप से विफल होने लगा।क्या .NET असेंबली प्रारूप में आकार सीमाएं हैं?
प्रश्न में चेक-इन कुछ भी विशेष रूप से विशेष नहीं बदलता है और ऐप के क्षेत्रों से त्रुटियां भी नहीं आती हैं। परावर्तक का उपयोग करके हमने यह पता लगाने के लिए अपमानजनक तरीकों का निरीक्षण किया कि कोड में कचरा तार थे (which .NET Reflector humorously interpreted as Chinese characters)। हमने लगातार कई मशीनों पर इसे पुन: उत्पन्न किया है, इसलिए यह हार्डवेयर से संबंधित प्रतीत नहीं होता है।
आगे निरीक्षण से पता चला कि उन कचरा तारों ने aspnet_merge.exe पर तैनाती के दौरान इनपुट के रूप में उपयोग किए गए असेंबली में मौजूद हैं।
aspnet_merge.exe/वेब तैनाती परियोजना आउटपुट विधानसभाओं गुण:
- मर्ज एक भी विधानसभा
- अपनी ही विधानसभा के लिए प्रत्येक व्यक्ति के फ़ोल्डर उत्पादन मर्ज
- मर्ज सभी पृष्ठों और करने के लिए सभी outputs एक असेंबली पर नियंत्रण आउटपुट
- प्रत्येक पृष्ठ के लिए एक अलग असेंबली बनाएं और आउटपुट आउटपुट
अगर हम ("एक भी विधानसभा के लिए सभी आउटपुट मर्ज करें") हम इस मुद्दे, अभी तक अन्य विकल्प पूरी तरह से काम के सभी अनुभव पहला विकल्प को मर्ज विकल्प सेट वेब तैनाती परियोजना गुण में!
मेरा प्रश्न: क्या किसी को पता है कि यह क्यों हो रहा है? क्या aspnet_merge.exe की क्षमताओं के लिए आकार-सीमा है (परिणामी विलय डीएलएल लगभग 19.3 एमबी है)? क्या डब्ल्यूएपी के उत्पादन में विलय के साथ कोई अन्य ज्ञात समस्याएं हैं?
यदि कोई असेंबली प्रारूप/aspnet_merge.exe गुरु इस तरह की किसी भी सीमा के बारे में जानते हैं तो मुझे यह अच्छा लगेगा। मुझे 25 एमबी असेंबली की तरह लगता है, जबकि बड़ा, अपमानजनक नहीं है।
क्या आप छवि को ठीक कर सकते हैं या लिंक को हटा सकते हैं? – Laurel