2012-03-12 15 views
5

में इसका उपयोग करने के बाद प्रबंधित डीएलएल को हटाने में असमर्थ मैं एक एएसपीनेट वेब एप्लिकेशन में एनएचनस्पेल का उपयोग कर रहा हूं। NHunspell या तो Hunspellx86.dll या Hunspellx64.dll लपेटता है, जिनमें से दोनों अप्रबंधित डीएलएस हैं।एएसपीनेट वेब एप्लिकेशन

समस्या यह है: जब मैं अपने NHunspell वस्तु (जो kernel32.dll से FreeLibrary कॉल) के निपटान, ऐसा लगता है कि आईआईएस अभी भी यह करने के लिए पर लटका कर रहा है - के रूप में दोनों windbg और tasklist /m इसका सबूत। यह समस्याग्रस्त है अगर, मैं स्वचालित बिल्ड प्रक्रिया का उपयोग कर उस डीएल को प्रतिस्थापित करने का प्रयास करता हूं, या अपने वेब एप्लिकेशन को अपडेट करने के लिए इंस्टॉलर चलाता हूं: सबकुछ विफल रहता है क्योंकि वह डीएल उपयोग में है।

मुझे आश्चर्य है कि कोई भी मेरे संदेह की पुष्टि कर सकता है कि वास्तव में, आईआईएस इसे कैशिंग कर रहा है? साथ ही, मैं आईआईएस के तहत से प्रबंधित डीएलएस को क्यों हटा सकता हूं (यहां तक ​​कि जब tasklist आईआईएस द्वारा उपयोग किए जाने वाले डीएलएस की रिपोर्ट करता है)?

अंत में, मैं वास्तव में स्वचालित बिल्ड/इंस्टॉल के लिए इस डीएल को हटाने में सक्षम होने के बारे में सुझावों की तलाश कर रहा हूं?

बहुत बहुत धन्यवाद!

+1

मुझे लगता है कि ओवरकिल विकल्प आपके निर्माण के उन हिस्सों के आसपास 'iisadmin/stop' और' iisadmin/start' है - यह मानते हुए कि आपका निर्माण पर्याप्त अनुमतियों के साथ चल रहा है। – Rup

+0

क्या आपने कोशिश की है [Sysinternals Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653)? आप डीएलएल नाम के लिए एक हैंडल खोज कर सकते हैं और देख सकते हैं कि डीएलएल - आईआईएस कोर सेवा या एप्लिकेशन पूल में अभी भी कौन सी प्रक्रिया हो रही है। हालांकि, यह आपको कुछ भी नया नहीं बता सकता है। – Rup

+0

हमारे पास यह वही समस्या है। –

उत्तर

0

यदि आप आईआईएस 6 या उससे अधिक पर चल रहे हैं, तो आप केवल विशिष्ट एप्लिकेशन पूल को रोक सकते हैं। हालांकि, सटीक बिल्ड कमांड क्या है जो फ़ाइल को ओवरराइट नहीं कर रहा है? हम एक टीएफएस बिल्ड ऑटोमेशन चरण का उपयोग करते हैं जो आईआईएस चलाने वाले परीक्षण सर्वर पर हमारी फाइलों की प्रतिलिपि बनाता है जिसमें उपयोग में सभी डीएलएस हैं और यह कोई समस्या नहीं है। मैं पुष्टि नहीं कर सकता कि यह कैसे करता है, मुझे संदेह है कि यह XCOPY का उपयोग कर रहा है लेकिन मुझे यकीन नहीं है।

+0

हाँ, हम एक टीएफएस बिल्ड स्वचालन चरण भी उपयोग करते हैं - यह वह कदम है जो विफल रहता है। –

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