2009-02-17 7 views
53

एक उपयोगकर्ता अनुप्रयोग चलाने के लिए कोशिश करता है, हमारे ClickOnce आवेदन रिपोर्ट कर रहा है:त्रुटि संदेश "। अनुप्रयोग स्थापित करते या चलाने में असमर्थ आवेदन GAC में stdole संस्करण 7.0.3300.0 की आवश्यकता है"

स्थापित करने के लिए

असमर्थ या आवेदन चलाएं। एप्लिकेशन को जीएसी में स्टडोल संस्करण 7.0.3300.0 की आवश्यकता है। stdole उस में इंस्टॉल नहीं किया है:

यह ध्यान रखें कि GAC (\ Windows \ विधानसभा सी) दिलचस्प है। मैं इसे वहां कैसे प्राप्त करूं?

हम .NET 3.5 का उपयोग कर रहे हैं, और यह इस कंप्यूटर पर स्थापित किया गया है।

उत्तर

26

तो यह पता चला है कि नेट फ़ाइलों C:\Program Files\Microsoft.NET\Primary Interop Assemblies\ में प्रतिलिपि की गई। हालांकि, वे कभी भी GAC में पंजीकृत नहीं थे।

मैं मैन्युअल C:\windows\assembly को C:\Program Files\Microsoft.NET\Primary Interop Assemblies में फ़ाइलों को खींच कर समाप्त हो गया और अनुप्रयोग है कि समस्या मशीन पर काम किया। आप Gacutil के साथ प्रोग्रामेटिक रूप से भी ऐसा कर सकते हैं।

तो ऐसा लगता है कि इंस्टॉल के दौरान .NET के साथ कुछ हुआ, लेकिन यह समस्या को ठीक करने लगता है। मुझे उम्मीद है कि किसी और की मदद करता है!

63

कोशिश के लिए जा रहा परियोजना संपत्तियों में प्रकाशित करें टैब और फिर आवेदन फ़ाइलें बटन का चयन करें। stdole.dll की

  • फ़ाइल नाम
  • स्थितिको शामिल करें
  • डाउनलोड समूहआवश्यक

को उसके बाद प्रकाशित करें: उसके बाद निम्न गुण सेट आपको अपने आवेदन को पुन: प्रकाशित करने की आवश्यकता है।

यदि संदर्भ में CopyLocal = true है, तो संदर्भ एप्लिकेशन के साथ प्रकाशित किया जाएगा। यदि संदर्भ में CopyLocal = false है तो संदर्भ को एक शर्त के रूप में चिह्नित किया जाएगा। इसका अर्थ यह है कि क्लिकऑन एप्लिकेशन इंस्टॉल होने से पहले ग्राहक को जीएसी में असेंबली स्थापित की जानी चाहिए।

कुछ ऐसी असेंबली हैं जो विजुअल स्टूडियो इंस्टॉल की वजह से जीएसी में स्थापित हैं, न कि .NET Framework इंस्टॉल। यह आपकी स्थिति हो सकती है।

+1

यह परिदृश्य मेरे लिए काम नहीं करता है। अब मुझे त्रुटि मिलती है "एप्लिकेशन प्रमाणीकरण सफल नहीं हुआ। जारी रखने में असमर्थ।" "विवरण" बटन पर क्लिक करने के बाद, मुझे "इस असेंबली stdole.dll के लिए मजबूत नाम हस्ताक्षर मान्य नहीं है"। मुझे लगता है कि ऐसा इसलिए है क्योंकि यह एक .NET ढांचा डीएल है। – proudgeekdad

+5

आपको stdole.dll http://msdn.microsoft.com/en-us/library/aa195478(office.11).aspx –

12

मुझे क्लिकऑन परिनियोजन के साथ एक ही समस्या थी।

मैंने प्रोजेक्ट गुणों में 'प्रकाशित' टैब पर जाकर और 'एप्लिकेशन फ़ाइलें' बटन का चयन करके समस्या हल की। करने के लिए इस 'आवश्यक' को 'शामिल' और

  • 'डाउनलोड ग्रुप'

    • 'फ़ाइल का नाम' 'stdole.dll'
    • 'का दर्जा प्रकाशित की:

      मैं तो विकल्प का चयन किया।

    यह फिर से प्रकाशित होने पर मेरी समस्या को ठीक करता है।

    मुझे आशा है कि इस मदद आप: डी

  • 1

    ठीक है, आप क्लिकऑन का उपयोग कर जीएसी में स्थापित नहीं कर सकते हैं। यह this MSDN article में प्रलेखित है।

    +0

    मैग्नस का पुनर्वितरण नहीं करना चाहिए, लेख के लिए धन्यवाद। हालांकि, .NET की स्थापना खराब थी और कोर .NET Dlls जीएसी में नहीं थे जैसा कि उन्हें होना चाहिए था। यदि .NET इंस्टॉल खराब है, तो क्लिकऑन काम नहीं करेगा। – proudgeekdad

    +0

    ठीक है, क्लिकऑन का उपयोग कर जीएसी में stdole.dll स्थापित नहीं कर सकता। लेकिन stdole.dll स्थापित करने के लिए कोई इंस्टॉलर ?? thx – Kiquenet

    0

    जांचें कि क्या आप वास्तव में EnvDTE संदर्भ का उपयोग कर रहे हैं। यदि नहीं, तो इसे हटा दें और पुनः संकलित करें।

    0

    दिलचस्प, मेरे पास मेरे प्रोजेक्ट में स्टडोल का कोई संदर्भ नहीं था, लेकिन मेरे पास अभी भी उपयोगकर्ता को त्रुटि प्राप्त हुई थी। मुझे संदर्भ जोड़ना था, फिर सेटिंग को शामिल करने के लिए बदलें। उम्मीद है कि काम करेगा।

    0

    एच 2oRider के लिए - क्या आपका एप्लिकेशन जीएसी में ओरेकल डीएल तक पहुंचता है? मैं आपको जो सलाह देता हूं वह यह है: अपनी परियोजना में डीएल जोड़ें और "सामग्री" पर बिल्ड एक्शन सेट करें और "हमेशा कॉपी करें" पर "आउटपुट निर्देशिका में कॉपी करें" सेट करें।

    फिर जीएसी में डीएलएल में अपना संदर्भ हटाएं। संदर्भ को दोबारा जोड़ें, लेकिन इस बार उस समय तक ड्रिल करें जिसे आपने अभी अपनी परियोजना में जोड़ा है।

    अब इसे प्रकाशित करें। एप्लिकेशन स्थानीय रूप से डीएलएल की तलाश करेगा, और डीएल को तैनाती में शामिल किया जाएगा ताकि इसे मिल सके।

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

    4

    हमारे पास हमारे क्लिकऑन एप्लिकेशन के साथ एक ही समस्या थी जो माइक्रोसॉफ्ट ऑफिस के साथ इंटरऑप का उपयोग करती है। यह केवल कंपनी के कुछ कंप्यूटरों पर हुआ।

    सबसे अच्छा ठीक हमें पता चला समस्याग्रस्त कंप्यूटर पर एमएस ऑफ़िस स्थापना संशोधित करने के लिए किया गया था (कार्यक्रम के माध्यम से और सुविधाएँ पैनल) और कहा कि "नेट प्रोग्रामिंग सुविधा" (घटक के नाम के बारे में सुनिश्चित नहीं सुनिश्चित - हमारे Microsoft_Office संस्करण अंग्रेजी नहीं हैं) प्रत्येक एमएस ऑफिस अनुप्रयोगों (एक्सेल, वर्ड, आउटलुक इत्यादि) के लिए स्थापित किया गया था। ऐसा लगता है कि एक डिफ़ॉल्ट स्थापना में शामिल नहीं किया गया है।

    तब stdole.dll के साथ समस्या ठीक हो गई थी।

    मुझे आशा है कि इससे मदद मिल सकती है।

    +0

    यह मेरे लिए काम किया। – lymber

    1

    मेरे समाधान: मैं खोला संदर्भ समाधान एक्सप्लोरर (सभी फाइलों को दिखा रहा है) में फ़ोल्डर, और प्रत्येक विधानसभा कि स्थापना शिकायत की के बारे में के लिए (विधानसभा के नाम विधानसभा के फ़ाइल नाम के रूप में बिल्कुल एक ही नहीं हो सकता है - भीतर ऑब्जेक्ट एक्सप्लोरर, लेकिन पता लगाने में काफी आसान), मैंने को स्थानीय से ट्रू बदल दिया। मुझे प्रत्येक माइक्रोसॉफ्ट ऑफिस/COM-संबंधित असेंबली के साथ ऐसा करने की आवश्यकता समाप्त हो गई।

    +0

    मुझे अब यह समस्या है जो मैंने 4 या 5 साल पहले लिखा था, वीएस 2010/.NET 4 का उपयोग करके मैंने आपके द्वारा सुझाए गए कार्यों को करने का प्रयास किया, लेकिन समाधान एक्सप्लोरर में stdole.dll भी नहीं मिला सभी फाइलें दिखाने के साथ। (और मैंने प्रोजेक्ट में संदर्भित सभी सिस्टम फ़ाइलों पर पथ की जांच की है।) तो मुझे नहीं पता कि क्या हो रहा है। – Rod

    +0

    मुझे यह समस्या भी है। – tofutim

    21

    मैं मेरे मामले में, मैं इस मुद्दे करने के लिए जा हल परियोजना गुण में प्रकाशित करें टैब और फिर आवेदन फ़ाइलें बटन का चयन करें।तो बस:

    नोट:इससे पहले कि आप इस समाधान लागू होते हैं, सुनिश्चित करें कि आप पहले से ही है (मैंने किया था के रूप में), सब अपने समाधान की परियोजनाओं की जाँच की और stdole.dll विधानसभा का कोई सन्दर्भ में पाया गया कि सुनिश्चित करें।

    1 - stdole.dll फ़ाइल स्थित है;

    2 - अपनी स्थितिको प्रकाशित बदल दिया बाहर करें

    3 - उसके बाद आप के लिए अपने एप्लिकेशन पुनः प्रकाशित करें।

    यह समस्या दृश्य स्टूडियो 2010

    आशा है कि यह मदद करता है से अपने प्रवास के बाद, एक दृश्य स्टूडियो 2012 को हुआ था।

    +4

    इस तरह मैंने वीएस -2010 में इस मुद्दे को ठीक किया था। फ़ाइल सहित सबसे निश्चित रूप से काम नहीं किया। मुझे मैन्युअल रूप से इसे बाहर करना पड़ा। – Keith

    +1

    मेरे मामले में, मैंने पाया कि यदि फ़ाइल पीसी का एक अलग संस्करण स्थापित है तो फ़ाइल समेत संघर्ष करेगा। इसे छोड़कर जवाब है। धन्यवाद। (वीएस 2013 का उपयोग करना।) –

    +0

    यह वीएस 2008 पर काम करता है। धन्यवाद – Ankhaa

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