2012-01-25 9 views
12

मैं CrmSvUtil इस तरह से उपयोग कर रहा हूँ:CrmSvcUtil केवल OrganizationServiceContext derivants पैदा कर रही है (CrmOrganizationServiceContext होना चाहिए)

crmsvcutil.exe /url:http://crm2011/MyTestOrg/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /namespace:Xrm /serviceContextName:XrmDataContext 

और उत्पादन व्यापार वस्तुओं के हजारों और इस संदर्भ वर्ग शामिल हैं:

[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9688.1533")] 
public partial class XrmDataContext : Microsoft.Xrm.Sdk.Client.OrganizationServiceContext 

लेकिन नमूने (अर्थात् \ sdk \ walkthroughs \ पोर्टल \ consoleappwalkthrough) को देखकर मैं स्पष्ट रूप से वहां देख सकता हूं कि संदर्भ वर्ग संगठन के एक अधिक शक्तिशाली उप वर्ग से लिया जाना चाहिए anizationServiceContext -> CrmOrganizationServiceContext:

[System.CodeDom.Compiler.GeneratedCodeAttribute("CrmSvcUtil", "5.0.9688.583")] 
public partial class XrmServiceContext : Microsoft.Xrm.Client.CrmOrganizationServiceContext 

मैं निश्चित रूप से CrmOrganizationServiceContext जरूरत है क्योंकि उसके बाद ही मैं कंस्ट्रक्टर्स मैं की जरूरत है। तो मैं क्या गलत कर रहा हूं या मुझे किस सेटिंग में याद आया?

+3

यदि आप प्लगइन/कस्टम गतिविधि में जेनरेट कोड का उपयोग करते हैं तो यह समस्याएं उत्पन्न होती हैं क्योंकि यह microsoft.xrm.client.dll पर निर्भरता लेती है। यह DLL डिफ़ॉल्ट सर्वर स्थापना में शामिल नहीं है और आपको यह सुनिश्चित करने की आवश्यकता होगी कि सर्वर पर डीएल मौजूद है (dev/qa/prod)। मैंने उस कारण से/codecustomization ध्वज का उपयोग करने का निर्णय लिया और इसके बजाए "OrganizationContext" व्युत्पन्न कक्षा के साथ चिपकने का फैसला किया। –

+0

जानना अच्छा है। मेरा वर्तमान उपयोग केस बाह्य डेटा-आयात/-पोर्ट उपकरण (कंसोल-ऐप्स) था जो स्थानीय नेटवर्क पर सीआरएम तक पहुंचता था। – springy76

+0

नमस्कार, मेरे पास सही सवाल उठाने के लिए springy76 धन्यवाद, और उत्तर पोस्ट करने के लिए अभिजीत पटेल का धन्यवाद, हालांकि ऊपर वर्णित विधियों में से किसी एक का उपयोग कब किया जाएगा? प्रोड सर्वर में उपलब्ध डीएल के अलावा, दूसरे पर एक का कोई फायदा है? – Jaya

उत्तर

14

उस एसडीके नमूने के web version दिए गए पैरामीटर देखें। वे उस वर्ग को उत्पन्न करेंगे जो आप खोज रहे हैं।

CrmSvcUtil.exe /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration" /out:Xrm\Xrm.cs /url:http://Crm/Contoso/XRMServices/2011/Organization.svc /domain:CONTOSO /username:administrator /password:[email protected] /namespace:Xrm /serviceContextName:XrmServiceContext 
+2

मुझे "अनियंत्रित" सीएलआई पैरामीटर पसंद हैं - शायद एक वर्ग प्रति फ़ाइल बनाने के लिए भी एक है जैसे कि v4 के साथ यह संभव था? आर # इन 5 एमबी सी # फाइलों पर मर रहा है। – springy76

+0

जैसा कि बताया गया था, आप डिफ़ॉल्ट 'Xrm.cs' फ़ाइल को फ़िल्टर कर सकते हैं ताकि केवल उन संस्थाओं को शामिल किया जा सके जिन्हें आप रुचि रखते हैं। मैंने हाल के एक प्रश्न में ऐसा करने के कुछ तरीकों का जिक्र किया है। http://stackoverflow.com/questions/8946223/how-can-i-make-crmsvcutil-exe-generate-unduplicated-error-free-early-bound-opti –

+0

@ springy76: और हाँ - ये अनियंत्रित विशेषताएं मुझे मार रही हैं । मुझे कहीं भी '/ codeCustomization' पैरामीटर के लिए चश्मे दिखाई नहीं दे रहे हैं, लेकिन यह ऐसी चीजें हैं जिनकी हमें आवश्यकता है। –

1

उपयोग Early Bound Generator, और चेक बॉक्स की जाँच "उपयोग XRM क्लाइंट" का चयन करें। यह आपके द्वारा अपेक्षित बेस क्लास के साथ संदर्भ उत्पन्न करेगा।