2013-01-24 11 views
13

कृपया कोई यह समझा सकता है कि मुझे यह त्रुटि क्यों मिलती है और इसे ठीक करने के लिए क्या करना है (या मैं क्या गलत कर रहा हूं!)। चरणों मैं ले लिया है कर रहे हैंक्लास लाइब्रेरी के आउटपुट प्रकार वाला एक प्रोजेक्ट सीधे शुरू नहीं किया जा सकता है

  1. डाउनलोड स्रोत कोड से VS2010 में http://www.codeproject.com/Articles/16859/AForge-NET-open-source-framework
  2. खुलने से पता चलता संदर्भ नहीं पाया जा सकता है enter image description here

  3. PlayingCardRecognition\bin\Release ताकि कोई अतिरिक्त चेतावनियों से सभी 3 संदर्भ फिर से जोड़ें enter image description here

  4. जब मैं कोशिश करता हूं और बनाता हूं या चलाता हूं तो मुझे निम्न संदेश मिलता है enter image description here

+0

क्या आप इस उत्तर को आजमा सकते हैं क्योंकि इससे मेरी मदद हुई! http://stackoverflow.com/questions/11152272/a-project-with-an-output-type-of-class-library-cannot-be-started-directly/25843029#25843029 –

+0

भविष्य पाठक: सैम का उत्तर पहले देखें – 8protons

उत्तर

8

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

यदि ऐसा गलती से तो आप ऐसा कर सकते हैं है:

इसके लिए एक त्वरित और गंदे ठीक है, अगर वह यह है कि समाधान में केवल csproj किसी पाठ संपादक में .csproj फ़ाइल खोलने के लिए और बदलने के लिए है WinForms C# प्रोजेक्ट के अनुरूप गोड में नोड <ProjectGuid> का मान। (कि आप एक Google खोज से प्राप्त कर सकते हैं या एक नई परियोजना बनाकर और विजुअल स्टूडियो द्वारा उत्पन्न .csproj फ़ाइल खोलने के लिए यह पता लगाने के लिए कि उस प्रकार के लिए GUID क्या है)। (आनंद लें - बहुत से लोगों को इस स्नीकी चाल के बारे में पता नहीं है)

लेकिन: परियोजना सही ढंग से कक्षा पुस्तकालय हो सकती है और फिर आपको इसे किसी अन्य प्रोजेक्ट में संदर्भित करना चाहिए और इस तरह इसका उपयोग करना चाहिए।

+0

क्या यह 'मुख्य' डीएल परियोजना में स्टार्टअप ऑब्जेक्ट के रूप में चलाने में सक्षम हो सकता है? – toddmo

+0

भविष्य के पाठकों के लिए: सैम के उत्तर की तलाश करें – 8protons

1

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

+0

आप पुस्तकालय कैसे आयात करते हैं? –

+0

मैंने इसे CTRL + F5 दबाकर निकाला। जब संकलन सफल होता है तो यह /bin/डीबग फ़ोल्डर में एक डीएल रखता है। इस डीएल को दूसरी परियोजना में कॉपी और पेस्ट करें। राइट क्लिक प्रोजेक्ट और नए संदर्भ में "संदर्भ जोड़ें" ब्राउज़ करें का चयन करें। –

1

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

1

आपके द्वारा डाउनलोड की गई प्रोजेक्ट एक क्लास लाइब्रेरी है। जो शुरू नहीं किया जा सकता है।

एक नई परियोजना जोड़ें जिसे शुरू किया जा सकता है (कंसोल ऐप, फॉर्म जीतें, जो भी आप चाहते हैं) और क्लास लाइब्रेरी प्रोजेक्ट का संदर्भ जोड़ें ताकि "इसके साथ खेल सकें"।

और जैसा कि "स्टार्टअप परियोजना"

2

परियोजना एक वर्ग पुस्तकालय है इस नई परियोजना की स्थापना की। इसे निष्पादन योग्य परियोजना के बिना चलाया या डीबग नहीं किया जा सकता है (F5 काम नहीं करता !!!)। आप केवल प्रोजेक्ट (Ctrl + Shift + B) बना सकते हैं।

यदि आप कोड को डीबग करना चाहते हैं तो समाधान में एक कंसोल एप्लिकेशन प्रोजेक्ट (इसे स्टार्ट अप प्रोजेक्ट के रूप में सेट करें) जोड़ें और लाइब्रेरी में संदर्भ जोड़ें।

4

.Exe और .dll दोनों असेंबली हैं। मुख्य अंतर यह है कि executeables एक प्रविष्टि बिंदु Main परिभाषित करता है जिसे रनटाइम द्वारा बुलाया जा सकता है।त्रुटि

"वर्ग पुस्तकालय सीधे शुरू नहीं किया जा सकता है"

तथ्य यह है कि कहा .dll एक Main की जरूरत नहीं है की वजह से है। इस समस्या को ठीक करने के लिए, प्रोजेक्ट प्रकार को Windows अनुप्रयोग/कंसोल एप्लिकेशन में बदलें और एक एंट्री पॉइंट परिभाषित करें। या, एक नया प्रोजेक्ट जोड़ें जो कि विंडोज़ एप्लिकेशन/कंसोल एप्लीकेशन है और संदर्भ .dll कहा गया है।

54

इस समस्या को हल करने के लिए, इन चरणों का कार्य करें:

  1. सही मेनू से दृश्य स्टूडियो
  2. का समाधान Explorer में प्रोजेक्ट का नाम क्लिक करें Set as StartUp Project
  3. फिर से चलाने के लिए अपनी परियोजना यह काम करना चाहिए !

यदि यह काम नहीं करता है, तो सुनिश्चित करें कि आपने अपना प्रारंभ पृष्ठ सेट किया है। अपनी परियोजना सी # विंडोज आवेदन या सी # कंसोल अनुप्रयोग है, तो यह प्रयास करें:

  1. सही दृश्य स्टूडियो के समाधान Explorer में प्रोजेक्ट नाम पर क्लिक करें
  2. करें Properties
  3. आवेदन टैब का चयन करें
  4. Output Type में ड्रॉप बॉक्स
  5. अपनी परियोजना का सही एप्लिकेशन प्रकार चुनें
  6. अपनी परियोजना को दोबारा चलाएं और मुझे बताएं कि यह काम नहीं करेगा।
+0

बिंगो! मक का जवाब मेरे लिए काम किया। यह उस जवाब से भी अधिक आसान है जिसने हरे रंग की चेक मार्क प्राप्त की है। – JohnH

+0

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

+0

मेरे मामले में मेरे पास एक अतिरिक्त हैंगअप था जो किसी की मदद कर सकता है: मैं एक अन्य प्रोजेक्ट का संदर्भ दे रहा था जिसने एक COM DLL पंजीकृत किया था और मुझे भी (सैम की टिप्पणियों के अतिरिक्त) स्टार्टअप प्रोजेक्ट के प्लेटफ़ॉर्म लक्ष्य को या तो x64 या तो मिलान करने के लिए बदलना था। x86 (UnmanagedExports पैकेज के कारण किसी भी CPU का उपयोग नहीं कर सकता)। –

-1

बस प्रोजेक्ट समाधान पर राइट क्लिक करें एक विंडो पॉप अप हो जाती है। सामान्य गुणों का विस्तार करें। स्टार्ट अप प्रोजेक्ट

दाएं हाथ की तरफ सिंगल स्टार्टअप प्रोजेक्ट के साथ रेडियो बटन का चयन करें वहां अपनी परियोजना का चयन करें और आवेदन करें।

यही है। अब अपनी परियोजना को सहेजें और बनाएं। आउटपुट देखने के लिए प्रोजेक्ट चलाएं।

_Sarath @ F1

0

गोटो समाधान गुण -> दाईं ओर बिल्ड पर आप स्टार्टअप प्रोजेक्ट प्रकार देखते हैं। यहां आपको कंसोल एपिकेशन/विंडोज़ ऐपिकेशन चुनने की जरूरत है।

0

यदि आप परियोजनाओं को प्राप्त करने के लिए डब्ल्यूपीएफ एप्लिकेशन को क्लास लाइब्रेरी में कनवर्ट करते हैं। डीएल फाइल। उसके बाद उसी प्रोजेक्ट को WPF एप्लिकेशन में कनवर्ट करने के बाद आपको निम्न त्रुटि मिलती है।

त्रुटि: "exe में एक प्रविष्टि बिंदु के लिए उपयुक्त स्थिर मुख्य विधि नहीं है"।

समस्या निवारण के चरण: 1. संबंधित परियोजना में App.xaml फ़ाइल शामिल करें। 2. App.xaml फ़ाइल पर राइट क्लिक एप्लिकेशन परिभाषा 3 पर बिल्ड क्रिया को बदलें।अब अपनी परियोजना का निर्माण

-2

इस समस्या को हल करने के लिए, कर इन चरणों का:

सही प्रोजेक्ट का नाम दृश्य स्टूडियो स्टार्टअप परियोजना के रूप में सेट करें यह काम करना चाहिए मेनू से अपनी परियोजना को फिर से चलाने के समाधान Explorer में क्लिक करें !

+1

यह 4 साल पहले गरीब प्रारूपण के साथ मक के जवाब की सटीक प्रति है, इसे दोहराने का क्या मतलब है? – niemmi

0

यदि आपको यह समस्या मिली है (इसे विजुअल स्टूडियो 2017 आरसी में मिला है), और आपको चरण 3 से आगे की माक पोस्ट द्वारा सूचीबद्ध कुछ भी नहीं मिलती है "4 आउटपुट प्रकार ड्रॉप बॉक्स में ...." जब आप एक क्रॉस प्लेटफॉर्म अनुप्रयोग बनाना चाहते हैं क्योंकि आप एक कक्षा लाइब्रेरी एप्लिकेशन बनाया है, यह है, इसलिए यहाँ समाधान है:

1 प्रारंभ एक नई परियोजना

2 का चयन विजुअल C# और पार मंच अनुप्रयोग।

3 का चयन पार मंच अनुप्रयोग (Xamarin और स्थानीय ऐप)

4 खाली विधि चुनें।

तब से, राइट क्लिक करें, स्टार्टअप प्रोजेक्ट के रूप में चुनें और मक्का द्वारा उल्लिखित बिल्ड करें, और इसे काम करना चाहिए।

यदि आप खरोंच से शुरू कर सकते हैं, तो यह मेरे लिए किया गया चाल हो सकता है।

यह मुख्य समस्या के लिए भी चाल कर सकता है, लेकिन दृश्य स्टूडियो (उदाहरण के लिए दृश्य स्टूडियो 2015 के लिए "Xamarin.forms पोर्टेबल" के आपके वर्तमान संस्करण में अनुकूलित किया जाना चाहिए)।

अलविदा!

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

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