我遇到了一个相当奇怪的问题,我在我的机器上部署了2个.NET应用程序。两者都在v2.0上运行。
现在,虽然其中一个工作顺利,但另一个甚至没有启动!此外,它不会抛出任何错误,我在事件查看器中看不到任何错误列表。
难以调试。在其他每台机器上,exe的工作都非常好!
任何已知问题?
编辑: 我遇到了一个未处理的异常,例外是这个;
System.Runtime.InteropServices.COMException(0x80040154):未注册的类(来自HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG)) 在System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid,Object punkOuter,Int32 context,Guid& iid) 在System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid) 在System.Windows.Forms.AxHost.CreateWithLicense(字符串许可证,Guid clsid) 在System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid) 在System.Windows.Forms.AxHost.CreateInstance() 在System.Windows.Forms.AxHost.GetOcxCreate() 在System.Windows.Forms.AxHost.TransitionUpTo(Int32状态) 在System.Windows.Forms.AxHost.CreateHandle() 在System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 在System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 在System.Windows.Forms.AxHost.EndInit() 在BrowsingFiles.Form1.InitializeComponent() 在BrowsingFiles.Form1..ctor() 在BrowsingFiles.Program.Main(String [] args)
由于
答案 0 :(得分:3)
您正在调用未在该计算机上注册的COM组件。
理想情况下,您的部署项目将注册任何COM依赖项:How To Register COM Objects in Visual Studio .NET: Steps to Register a COM Module in a Visual Studio .Net Deployment Project
答案 1 :(得分:1)
复制DLL,在System32文件中的适当位置,然后使用命令提示符在系统中注册dll regsvr32 dll的位置
答案 2 :(得分:0)
你可以去项目 - >添加引用以添加您的com组件。确保在此系统上加载了com组件。您可以查看以前计算机上的引用并查看引用的位置,并相应地修改此新计算机。