2011-06-07 8 views
12

हाल ही में हमने वीएस 2008 से वीएस -2010 (अल्टीमेट) तक हमारे विकास पर्यावरण को माइग्रेट किया।विजुअल स्टूडियो 2010 बिल्ड त्रुटि - HRESULT से अपवाद: 0x800300FA (STG_E_ABNORMALAPIEXIT))

एक समाधान के लिए (अब सभी सी #, .NET Framework 3.5 और ASP.NET 2.0) जिसमें 6 प्रोजेक्ट्स वीएस ऑटो-अपग्रेड किए गए हैं, बिना किसी समस्या के इसे अपग्रेड किया गया है।

समाधान परियोजनाओं हैं:

  1. ASP.NET वेबसाइट
  2. के लिए डब्ल्यूएसए ऊपर
  3. एक वर्ग से ऊपर साइट
  4. वेब सेवा आवेदन
  5. VS2010 वेब तैनाती परियोजना के लिए
  6. VS2010 वेब तैनाती परियोजना पुस्तकालय।
  7. एक और कक्षा पुस्तकालय।
हालांकि

, जब हम निर्माण हम 1 त्रुटि है:

Could not load file or assembly 'ClassLibrary1BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An API call exited abnormally. (Exception from HRESULT: 0x800300FA (STG_E_ABNORMALAPIEXIT)) 

अनुसंधान के बाद मैं अंत में ASP.NET वेबसाइट config में एक प्रविष्टि को यह पता लगाया:

अगर मैं इस लाइन के साथ निर्माण समस्या तब होती है:

<identity impersonate="true" userName="DOMAIN\user" password="password"/> 

हालांकि, अगर मैं बाहर टिप्पणी और (आपूर्ति की साख के बिना) निम्न पंक्ति के साथ निर्माण soluti ठीक बनाता है और फिर उपरोक्त (क्रेडेंशियल्स के साथ) web.config में संशोधन करता है, साइट ठीक चलती है - प्रमाण-पत्र केवल बनाने के लिए समस्या का कारण बनता है।

<identity impersonate="true"/> 

अब यहाँ अजीब मुद्दा है - वेब सेवा आवेदन आपूर्ति की पहचान के साथ ठीक बनाता है - निर्माण त्रुटि केवल ASP.NET वेबसाइट के लिए होता है। यह सब सच है कि परियोजनाओं को व्यक्तिगत रूप से बनाया गया है या समाधान पुनर्निर्मित किया गया है।

कोई भी पॉइंटर्स मैं सफलतापूर्वक आपूर्ति किए गए प्रमाण-पत्रों के साथ कैसे निर्माण कर सकता हूं, इसकी सराहना की जाएगी।

उत्तर

12

प्रतिरूपण उपयोगकर्ता की अनुमतियों की जांच करें।

ध्वज को झूठी पर सेट करने के बाद, <identity impersonate="false"/>, यह मेरे लिए भी जीवन में आया। हालांकि, एक बार इसे वापस सही करने के लिए की स्थापना, यह ठीक बनाया, लेकिन जब मैं साइट लोड, मुझे मिल गया:

The current identity (XN-DTDEV\Fusion) does not have write access to 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'.

अब इस मशीन एक डोमेन पर है, और है कि उपयोगकर्ता स्थानीय है, व्यवस्थापकीय अधिकार होने चाहिए जो । जब मैंने वापस चेक किया, तो ऐसा नहीं हुआ। ऐसा लगता है कि स्थानीय प्रशासक प्रत्येक रीबूट को फिर से सेट करने की नीति है।

+2

मैं अपने IIS_IUSRS समूह, के नाम से कार्य डोमेन उपयोगकर्ता जोड़ा से प्रतिरूपित उपयोगकर्ता अनुमति प्रदान अस्थायी डेटा बचाने के लिए, और dll फ़ाइलों को खींचने के लिए सक्षम होने के लिए के लिए उन दो परिवर्तन, और कोई भी आवश्यक फ़ाइलें जो अस्थायी फ़ोल्डर में पहुंच लिखना है। तब सब ठीक थे। – cab0

0

उत्तर मैटडवेन के लिए धन्यवाद - दुर्भाग्यवश आपका सुझाव कभी काम नहीं करता है ('अस्थायी एएसपी.नेट फ़ाइलें' फ़ोल्डर अनुमतियां सही थीं) लेकिन इस संकेत को हल करने के लिए मुझे संकेत (हैक) का कारण प्रदान करता है।

(1) मैं सफलतापूर्वक समाधान 3 बार <impersonate="true"/>, <identity impersonate="false"/> और <identity impersonate="true" userName="DOMAIN\different-user" password="password"/> का उपयोग कर फिर से बनाया (यहाँ "अलग-उपयोगकर्ता" एक स्थानीय व्यवस्थापक है): आपका जवाब पढ़ने के बाद मैं जिसके बाद मुझे एक अलग दिशा में नेतृत्व की कोशिश की।

(2) मैंने फिर वेब.कॉन्फिग को मूल <identity impersonate="true" userName="DOMAIN\user" password="password"/> पर संशोधित किया और केवल एएसपी.नेट वेबसाइट प्रोजेक्ट - सफलता का पुनर्निर्माण किया।

इसने मुझे निष्कर्ष निकाला है (मूल त्रुटि संदेश द्वारा दृढ़ता से संकेत दिया गया है) कि समाधान पुनर्निर्माण करते समय वीएस कक्षा पुस्तकालयों में से एक बनाने के लिए असमर्थ है (एएसपी में <identity impersonate="true" userName="DOMAIN\user" password="password"/> के साथ इसकी निर्भरता नेट वेबसाइट परियोजना।

प्रश्न में कक्षा पुस्तकालय में तीसरे पक्ष के घटकों, कार्यालय इंटरप्स इत्यादि के कई संदर्भ हैं, जो अब एक-एक करके एक को खत्म करने और वास्तविक अंतर्निहित कारणों को खोजने का प्रयास करने में बहुत समय लगेगा।

इसलिए, मैं अस्थायी रूप से हैक (चापलूसी) लागू कर दिया है स्थानीय व्यवस्थापक करने के लिए मूल उपयोगकर्ता जोड़ने के लिए।

+1

यदि उन्होंने कभी काम नहीं किया है, तो इसे उत्तर के रूप में क्यों चिह्नित किया जाता है? –

4

मैं वहाँ पहले से ही एक स्वीकृत जवाब है, लेकिन किसी और त्रुटि कोड पर एक खोज के द्वारा इस पृष्ठ आने के लिए एहसास ....

समीक्षा उपयोगकर्ता की अनुमतियां कि आप प्रतिरूपित करने के लिए कोशिश कर रहे हैं।

मेरी स्थिति में, मैं केवल त्रुटि मेरे विकास मशीन पर हमारे मचान या तैनाती सर्वर पर हो रही थी, बल्कि उसके बाद। (थोड़ी देर के लिए मैं अपने देव पर्यावरण में कॉन्फ़िगरेशन से 'पहचान' नोड को हटाकर और पोस्ट-बिल्ड में लाइन जोड़कर इसे प्राप्त कर रहा था, इसलिए यह मेरे अलावा किसी अन्य समस्या नहीं थी ..

मेरे पर्यावरण में हम चाहते हैं कि हमारे सभी वेब क्षुधा जब चल रहा है। मैं उपयोगकर्ता खाता बनाया था, लेकिन स्पष्ट रूप से अपने खाते अनुमति सेट नहीं किया था। जब मैं उपयोगकर्ता को शामिल के रूप में मेरे देव मशीन पर एक व्यवस्थापक, इस समस्या को दूर पूरी तरह से चला गया का रूप धारण एक विशिष्ट उपयोगकर्ता की है। (आदर्श नहीं, मुझे पता है, लेकिन यह "मेरे लिए काम करता है", और कम से कम नुकसान होता है क्योंकि उस उपयोगकर्ता खाते को हमारे 'वास्तविक' सर्वरों पर किसी भी तरह से बंद कर दिया जाता है ..)

+0

इससे भी मदद मिली। – Narnian

1

"अस्थायी एएसपी.नेट फ़ाइलों पर अनुमतियों को बदलने के बाद "यदि आप नए सुरक्षा अनुमतियों को इनहेरिट करने के लिए नई फ़ाइलें इसकी सामग्री हटा सकते हैं और अनुमति देने के लिए की जरूरत है

0

तो समाधान पहले उल्लेख के किसी भी काम नहीं किया है, और आप प्रतिरूपण का उपयोग कर रहे हैं। जवाब उपयोगकर्ता है कि आप निम्न फ़ोल्डरों के लिए उपयोग नाम से कार्य कर रहे हैं के लिए अनुमति देने के लिए है:

  1. C:\Windows\Microsoft.NET\Framework[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files

  2. आपकी साइट निर्देशिका। , यह मेरे लिए काम किया

    C:\Windows\Microsoft.NET\Framework\[v4.0.30319 or the version that you're using]\Temporary ASP.NET Files\[Application-Name-Goes-Here] 
    

    लेकिन कोशिश पिछले पहले:

भी आपका अनुसरण कर के रूप में फ़ोल्डर बनाने के लिए आवश्यकता हो सकती है।

निर्देशिका

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