2009-03-12 4 views
5

मुझे यह सुनिश्चित करने के लिए कैसे पता चलेगा कि मेरा उत्पादन सर्वर रिलीज बिल्ड डीएल का उपयोग करता है। क्या डीएल के अंदर उस जानकारी को खोजने का कोई तरीका है?मुझे कैसे पता चलेगा कि एक डीएलएल डिबग बिल्ड नहीं है


डुप्लिकेट की:

+0

"डुप्लिकेट" सही है लेकिन वहां की जरूरतों के अनुरूप मेरी जरूरतों के अनुरूप नहीं है। यह एक उत्पादन सर्वर है और मेरे पास न तो अपने ऐप्स या तृतीय पक्ष को स्थापित करने की पहुंच है। –

उत्तर

11

यदि यह एसी # DLL है तो आप ILDASM उपयोग कर सकते हैं (Program Files \ माइक्रोसॉफ्ट SDKs \ Windows \ v6.0A \ bin \ ildasm.exe) इस जानकारी को जानने के लिए।

1) ILDASM में खींचें DLL

2) पर Dbl क्लिक MANIFEST

3) के लिए देखो:

// .custom उदाहरण शून्य [mscorlib] System.Diagnostics.DebuggableAttribute: : .ctor (ValueType [mscorlib] System.Diagnostics.DebuggableAttribute/DebuggingModes) = (01 nn nn nn nn nn nn nn)

4) डीबग DLLs के लिए यह हो जाएगा (01 00 07 01 00 00 00 00) और रिलीज के लिए (01 00 02 00 00 00 00 00) या (01 00 03 00 00 00 00)

मुझे बताएं कि आपको और जानकारी चाहिए या नहीं! बीटीडब्ल्यू यह स्पष्ट रूप से गैर प्रोग्रामेटिक समाधान है।

#if DEBUG 
[assembly: AssemblyDescription("Your description - Debug")] 
#else 
[assembly: AssemblyDescription("Your description")] 
#endif 

यह, यह देखना आसान बनाने के लिए जब फाइल एक्सप्लोरर पर संवाद संपत्तियों में निर्माण का उपयोग कर देगा:

+0

इसका गैर-प्रोग्रामिक समाधान मैं देख रहा था :) केवल समस्या यह है कि ildasm.exe एक उत्पादन सर्वर के लिए "मानक" स्थापना नहीं है। –

+0

हां, ऐसा कुछ भी नहीं है जो उत्पादन प्रणाली पर कुछ उपयोगिताओं को चिपकाने से आपके सिस्टम को खुश कर देगा! :-) शुभकामनाएं –

2

अपने AssemlyInfo.cs में आप निम्नलिखित शामिल कर सकते हैं।

+0

दुर्भाग्यवश मेरे पास फिर से संकलन के लिए प्रोजेक्ट उपलब्ध नहीं है :( –

संबंधित मुद्दे