2012-05-31 15 views
16

मेरे पास एक सी # .Net 4 क्लास लाइब्रेरी है जो मुझे लगता है कि मैंने एक एज़ूर वर्कर रोल बनने के लिए स्थापित किया है, यानी क्लास Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint लागू करता है और इसमें रन() और ऑनस्टार्ट() विधि है। हालांकि जब मैं अपने खाली विंडोज़ एज़ूर प्रोजेक्ट में रोल्स फ़ोल्डर पर राइट-क्लिक करता हूं और "समाधान में वर्कर रोल प्रोजेक्ट ..." जोड़ने के लिए विकल्प जोड़ें पर क्लिक करता हूं। समाधान में संभावित कार्यकर्ता भूमिका परियोजना का एहसास करने के लिए मुझे वीएस -2010 के लिए क्या करने की ज़रूरत है?Azure Add> समाधान में कार्यकर्ता भूमिका प्रोजेक्ट क्यों है ... VS2010 में बाहर हो गया?

enter image description here

उत्तर

30

"जोड़ें> कार्यकर्ता भूमिका परियोजना समाधान में ..." केवल कार्यकर्ता भूमिका परियोजनाओं नहीं वर्ग पुस्तकालयों प्रदर्शित करता है। भले ही वे वही दिखते हैं, वे नहीं हैं।

आप का उपयोग करके एक कार्यकर्ता भूमिका प्रोजेक्ट बना सकते हैं निम्नलिखित:

  • नया क्लाउड परियोजना

enter image description here

  • सही करके बनाते समय एक बादल परियोजना
पर क्लिक

enter image description here

फिर आप चाहें तो एक अन्य क्लाउड प्रोजेक्ट में उस कार्यकर्ता भूमिका प्रोजेक्ट को जोड़ने में सक्षम होंगे। उस स्थिति में "जोड़ें> समाधान में कार्यकर्ता भूमिका परियोजना ..." मेनू विकल्प सक्षम हो जाएगा।

अब, आप एक क्लास लाइब्रेरी को वर्कर रोल प्रोजेक्ट में 'कन्वर्ट' भी कर सकते हैं। राइट वर्ग पुस्तकालय क्लिक करें और अनलोड परियोजना .. चुनें तो (एक बार है कि उतार दिया है), संपादित प्रोजेक्ट फाइल और पहले संपत्ति समूह में RoleType तत्व जोड़: अंत में

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProductVersion>8.0.30703</ProductVersion> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{7E9F972F-BE92-4CF7-998D-E76B61B21C37}</ProjectGuid> 
    <OutputType>Library</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>ClassLibrary1</RootNamespace> 
    <AssemblyName>ClassLibrary1</AssemblyName> 
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    <RoleType>Worker</RoleType> <-------------------- HERE 
</PropertyGroup> 

- परियोजना को फिर से लोड समाधान में वापस -> राइट-क्लिक प्रोजेक्ट रीलोड करें। (नोट: यदि एक्सएमएल फ़ाइल अभी भी खुली है, तो आप इसे बंद करने के लिए कहा जाएगा .. जो सही है। हाँ कहें और इसे बंद करें)। .. अब आपकी कक्षा पुस्तकालय को फिर से जोड़ा गया है लेकिन यह वर्कर रोल क्लास लाइब्रेरी है।

आप ऐसा करते हैं, दृश्य स्टूडियो एक कार्यकर्ता भूमिका होने के रूप में परियोजना को पहचान लेगा और आप क्लाउड परियोजना में जोड़ने के लिए सक्षम हो जाएगा:

enter image description here

नोट: आपके वर्ग पुस्तकालयरोलएन्ट्रीपॉइंट से प्राप्त कक्षा की आवश्यकता होगी। अधिक जानकारी: http://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspx

+0

धन्यवाद सैंड्रिनो - मैं प्रोजेक्ट फ़ाइल को संपादित करने के लिए जाऊंगा। – dumbledad

+0

दिलचस्प बात यह है कि जब मैंने क्लास लाइब्रेरी पर दायाँ क्लिक किया था तो "प्रोजेक्ट फ़ाइल संपादित करें" नहीं था, लेकिन यह नोटपैड में इसे संपादित करने के लिए सीधा था। – dumbledad

+0

आह क्षमा करें, यह हो सकता है कि यह बटन केवल वीएस एक्सटेंशन (VSCommands, PowerCommands या उत्पादकता पावर टूल्स) के माध्यम से उपलब्ध हो।उस स्थिति में, नोटपैड में संपादन भी एक वैध समाधान है। –