2012-07-04 12 views
29

मैंने स्थानीय मशीन पर वर्कफ़्लो के लिए क्लास लाइब्रेरी बनाई है और इसे बनाया है। मैं एक Tridion सर्वर से पूर्ण समाधान चले गए और नीचे के रूप में Regasm.exe उपकरण का उपयोग कर सर्वर में विधानसभा रजिस्टर करने की कोशिश की:COM के रूप में .NET असेंबली को कैसे पंजीकृत करें?

C:\User\XYZ\Desktop\>RegAsm \codebase F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll 

मुझे मिल निम्न त्रुटि:

failed to load 'F:\Workflow\WorkflowHandler/bin/debug/WorkflowHandler.dll ' because it is not a valid .NET Assembly.

मेरे सर्वर विवरण:

64-बिट, Windows Server 2008 R2 एंटरप्राइज़, और .NET Framework 4 स्थापित।

+0

क्या यह 32-बनाम 64-बिट मुद्दा हो सकता है? क्या यह रिमोट सिस्टम हो सकता है .NET 4.0 स्थापित नहीं है? – reuben

+0

इसका 64 बिट सर्वर है, और .net 4 स्थापित है, और मैंने क्लास लाइब्रेरी को फ्रेमवर्क 4 – user1428019

+0

में बनाया है, आपको पता है कि "\ codebase" पर आपका स्लैश गलत तरीके से जा रहा है, है ना? यह "/ codebase" होना चाहिए (उद्धरण के बिना)। – reuben

उत्तर

62

क्या आप सुनिश्चित हैं कि आपके पास अपने पथ में RegAsm सही है क्योंकि आप इसे पूर्ण पथ निर्दिष्ट किए बिना exe नाम से कॉल कर रहे हैं?

c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll 

या

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase F:\Workflow\WorkflowHandler\bin\debug\WorkflowHandler.dll 

: यह काम करने के लिए, यानी नेट 4.

पूरा पथ निर्दिष्ट करने का प्रयास के 32 या 64-बिट संस्करण आप RegAsm का सही संस्करण कॉल करना होगा मैंने यह भी देखा कि आपकी असेंबली के रास्ते में आपके पास \ के बजाय / वर्ण थे। सुनिश्चित करें कि आप सही रास्ते में डाल रहे हैं।

+0

बहुत बहुत धन्यवाद, मैं गलत RegAsm.exe का उपयोग कर रहा था, अब मैं सफलतापूर्वक पंजीकृत करने में सक्षम हूं। मैं कैसे जांच सकता हूं कि पंजीकृत असेंबली सही जगह पर है या नहीं? क्या यह वास्तव में पंजीकृत है या नहीं? – user1428019

+0

@ user1428019 यदि यह विफल नहीं हुआ है, तो इसे सफलतापूर्वक पंजीकृत किया जाना चाहिए। यदि आपके पास मशीन पर पंजीकृत विजुअल स्टूडियो है तो आप COM घटक का संदर्भ जोड़ने का प्रयास कर सकते हैं और देख सकते हैं कि यह वहां सूचीबद्ध है या नहीं। अन्यथा आप एक वीबीस्क्रिप्ट लिख सकते हैं और वहां COM घटक को तुरंत चालू करने का प्रयास कर सकते हैं। –

+0

धन्यवाद। मैं 64 बिट मशीन पर फ्रेमवर्क 64 RegAsm का उपयोग कर रहा था, जब मैंने 32 बिट एक काम किया था। 32 बिट डीएल होना चाहिए :) –