2012-06-18 12 views
19

मैं एक एप्लिकेशन का उपयोग करने की कोशिश कर रहा हूं, एप्लिकेशन ठीक काम कर रहा है, मैं एप्लिकेशन में मौजूदा आइटम को संपादित करने की कोशिश कर रहा हूं। संपादन पर क्लिक करते समय निम्नलिखित त्रुटि प्राप्त हो रही है,"कक्षा पंजीकृत नहीं है (HRESULT से अपवाद: 0x80040154 (REGDB_E_CLASSNOTREG))"

System.Runtime.InteropServices.COMException was unhandled 
    Message="Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))" 
    Source="System.Windows.Forms" 
    ErrorCode=-2147221164 
    StackTrace: 
     at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid) 
     at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid) 
     at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid) 
     at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid) 
     at System.Windows.Forms.AxHost.CreateInstance() 
     at System.Windows.Forms.AxHost.GetOcxCreate() 
     at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state) 
     at System.Windows.Forms.AxHost.CreateHandle() 
     at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 
     at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 
     at System.Windows.Forms.AxHost.EndInit() 
     at bulk_lister.frm_edititem.InitializeComponent() in New Bulklister\new bulklister\bulk_lister\bulk_lister\frm_edititem.designer.cs:line 4248 
     at bulk_lister.frm_edititem..ctor(Int32 userid, Int32 intListingId) in New Bulklister\new bulklister\bulk_lister\bulk_lister\frm_edititem.cs:line 187 
     at bulk_lister.parent_form.funEditItem_fromrghtclktoolStrip_edititm() in New Bulklister\new bulklister\bulk_lister\bulk_lister\parent_form.cs:line 1313 
     at bulk_lister.parent_form.rghtclktoolStrip_edititm_Click(Object sender, EventArgs e) in New Bulklister\new bulklister\bulk_lister\bulk_lister\parent_form.cs:line 1233 
     at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
     at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e) 
     at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
     at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) 
     at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
     at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) 
     at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) 
     at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
     at System.Windows.Forms.Control.WndProc(Message& m) 
     at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
     at System.Windows.Forms.ToolStrip.WndProc(Message& m) 
     at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
     at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
     at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
     at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 
     at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) 
     at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 
     at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 
     at System.Windows.Forms.Application.Run(Form mainForm) 
     at bulk_lister.Program.Main() inNew Bulklister\new bulklister\bulk_lister\bulk_lister\Program.cs:line 17 
     at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
     at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args) 
     at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel) 
     at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly() 
     at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData) 
     at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext) 
     at System.Activator.CreateInstance(ActivationContext activationContext) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: 

यह मेरे आवेदन के साथ उपयोग की गई डीएलएल फ़ाइल के साथ है। मैंने regsvr32 का उपयोग करके इस डीएलएल फ़ाइल को पंजीकृत करने का प्रयास किया है लेकिन मैं इसे नहीं बना सकता।

DLL:AxInterop.DHTMLEDLib.dll & Interop.DHTMLEDLib.dll 

किसी को भी इस अपवाद पर विचार है?

+1

http://msdn.microsoft.com/en-us/library/aa663363.aspx –

+0

हंस, इस http डाउनलोड करने: //www.microsoft.com/en-us/download/details.aspx?id=8956 आपके लिंक से मेरी समस्या ठीक हुई जो वही थी। ... धन्यवाद – RustyH

+0

कृपया इसे कैसे हल किया जाए? –

उत्तर

13

यह शायद आपकी समस्या का समाधान नहीं है, लेकिन एक सुझाव केवल मामले में (मुझे पता है कि मैं पहले भी इसी तरह की समस्या में भाग गया था लेकिन .NET अनुप्रयोग के साथ नहीं)।

यदि आप 64-बिट मशीन पर हैं, तो regsvr32.exe फ़ाइलें हैं; एक \Windows\System32 में है और दूसरा \Windows\SysWOW64 में है।

आप 32-बिट संस्करण के साथ 64-बिट COM-ऑब्जेक्ट्स पंजीकृत नहीं कर सकते हैं, लेकिन आप इसे इसके विपरीत कर सकते हैं। मैं स्पष्ट रूप से (यानी टाइपिंग "C:\Windows\System32\regsvr32.exe /i mydll.dll" और फिर "C:\Windows\SysWOW64\regsvr32.exe /i mydll.dll") दोनों regsvr32.exe फाइलों के साथ अपने DLL दर्ज की और देख कोशिश करता हूँ कि अगर मदद करता है ...

+10

मैंने इसे आजमाया है लेकिन मुझे त्रुटि मिल रही है "MYDll.dll लोड किया गया था लेकिन DllRegisterServer नहीं मिला" इस पर कोई मदद? – user1462809

+4

@ user1462809 "/ i" के बिना regsvr32.exe को कॉल करने के लिए समस्या हल हो गई। –

+1

मेरी मदद नहीं की, लेकिन मैं अभी भी सोच रहा हूं कि उन्होंने इसे regsvr64.exe क्यों नहीं नाम दिया है ... क्या यह बहुत मुश्किल था? –

0

आप DHTMLED.ocx

+0

मैंने DHTMLED.ocx पंजीकृत किया है, लेकिन यह त्रुटि पुनर्प्राप्त नहीं है? – user1462809

32

रजिस्टर करने की आवश्यकता होगी क्या क्या आपके आवेदन का लक्ष्य मंच है? मुझे लगता है कि आपको मंच को x86 पर सेट करना चाहिए, इसे Any CPU पर सेट न करें।

+0

मेरे मामले में, मैंने इसे x64 पर सेट किया है, क्योंकि यह पहले से ही x86 –

7

मुझे वीएलसी घटक के साथ एक ही त्रुटि मिली जब मैंने फ्रेमवर्क को 4.5 से 4. में बदल दिया, लेकिन जब मैंने प्लेटफ़ॉर्म को किसी भी CPU से x86 में बदल दिया तो यह मेरे लिए काम करता था।

+1

में है यह शायद ही कोई समाधान है। 32 बिट प्रोग्राम 3 जीबी से अधिक स्मृति तक नहीं पहुंच सकते हैं। – ThunderGr

1

[HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

बस संदेश यह एक या अधिक घटक है कि आप संदर्भ की, या एक या अधिक उनके निर्भरता ठीक से पंजीकृत नहीं है की तरह लगता है पर देख रहे हैं।

यदि आप जानते हैं कि यह कौन सा घटक है, तो आप इसे पंजीकृत करने के लिए regsvr32.exe का उपयोग कर सकते हैं, बस एक कमांड प्रॉम्प्ट खोलें, निर्देशिका पर जाएं जहां घटक है और regsvr32 filename.dll टाइप करें (मान लें कि यह एक डीएल है), अगर यह काम करता है, कोड को फिर से चलाने का प्रयास करें अन्यथा त्रुटि के साथ यहां वापस आओ।

यदि आपको नहीं पता कि यह कौन सा घटक है, तो जीआईएस सॉफ़्टवेयर को पुनः स्थापित/मरम्मत करने का प्रयास करें (मुझे लगता है कि आपने कुछ जीआईएस सॉफ़्टवेयर स्थापित किया है जिसमें आप जिस घटक का उपयोग करने का प्रयास कर रहे हैं) शामिल है।

+0

मुझे यह त्रुटि मिल रही है ... मॉड्यूल AxInterop.ShockwaveFlashObjects.dll लोड किया गया था लेकिन प्रविष्टि बिंदु DLLRegister सर्वर नहीं मिला था। सुनिश्चित करें कि यह वैध डीएलएल या .ocx फ़ाइल है, यह डीएलएल मेरे प्रोजेक्ट बिन फ़ोल्डर में रखा गया है .. इसे कैसे हल करें? – Vijayaraghavan

2

कुछ मुझे DLL मैं अपने VS2013 परियोजना के साथ ठीक काम कर रहा था पता था के लिए आज पर ठोकर खाई है, लेकिन VS2015 के साथ नहीं:

जाएं: Project -> XXXX Properties -> Build -> Uncheck "Prefer 32-bit"

इस उत्तर तरीका समय से अपेक्षित है और शायद काम नहीं चलेगा कोई अच्छा, लेकिन अगर आप। लेकिन मुझे उम्मीद है कि यह किसी दिन किसी की मदद करेगा।

0

प्रयासों के अनुक्रम के बाद मैं एक स्पष्ट समाधान में आया। आप Adobe Flashplayer के लिए ActiveX प्लगइन को पुनर्स्थापित करने का प्रयास कर सकते हैं।

1

मेरे ठीक दृश्य स्टूडियो में विन्यास प्रबंधक में मंच बनाने के लिए था, और 64 के लिए सेट

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