System.Runtime.InteropServices.COMException не было обработано кодом пользователя - PullRequest
0 голосов
/ 28 апреля 2020

Первым делом я искал свою проблему в Stackoverflow, и мне кажется, что я попытался ответить на все подобные вопросы \ ответы.

У нас есть приложение Windows форм, которое использует Windows 10 и работает на нескольких машинах. Это приложение использует публикацию в один клик, и у нас есть инструмент, который помогает устранить проблемы с памятью. Пока что эта проблема возникает только на трех машинах, и одна из них - моя. У нашего другого программиста нет проблем с запуском этого приложения в виде exe или в IDE. Я даже не могу запустить его в IDE.

При первом использовании IDE я получил следующее сообщение:

System.Runtime.InteropServices.COMException was unhandled by user code

  ErrorCode=-2147221164

  HResult=-2147221164

  Message=Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

  Source=System.Windows.Forms

  StackTrace:

       at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)

       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 Application_Name.frmMain.InitializeComponent() in C:\Source\ApplicationName\Forms\frmMain.Designer.vb:line 1090

       at Application_Name.frmMain..ctor() in C:\Source\ApplicationName\Forms\frmMain.vb:line 10

Используя TFS (Source Control), я переименовал исходную целевую папку и сделал a Получить последнее, и ниже приведено новое сообщение:

  {System.InvalidOperationException: An error occurred creating the form. See Exception.InnerException for details. 

  The error is: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) ---> System.Runtime.InteropServices.COMException: Class not registered

  (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))" & vbCrLf & "  

  at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter,

  Int32 context, Guid& iid)" & vbCrLf & "  

  at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)" & vbCrLf & "  

  at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)" & vbCrLf & "  

  at System.Windows.Forms.AxHost.CreateInstance()" & vbCrLf & "  

  at System.Windows.Forms.AxHost.GetOcxCreate()" & vbCrLf & "  

  at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)" & vbCrLf & "  

  at System.Windows.Forms.AxHost.CreateHandle()" & vbCrLf & "  

  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)" & vbCrLf & "  

  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)" & vbCrLf & "  

  at System.Windows.Forms.AxHost.EndInit()" & vbCrLf & "  

  at Application_Name.frmMain.InitializeComponent() in C:\Source\ApplicationName\Forms\frmMain.Designer.vb:line 1090" & vbCrLf & "  

  at Application_Name.frmMain..ctor() in C:\Source\ApplicationName\Forms\frmMain.vb:line 10" & vbCrLf & "   --- End of inner exception stack trace ---" & vbCrLf & "  

  at Application_Name.My.MyProject.MyForms.Create__Instance__[T](T Instance) in :line 190" & vbCrLf & "  

  at Application_Name.My.MyProject.MyForms.get_frmMain()" & vbCrLf & "  

  at Application_Name.My.MyApplication.OnCreateMainForm() in C:\Source\ApplicationName\My Project\Application.Designer.vb:line 35" & vbCrLf & "  

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()" & vbCrLf & "  

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()" & vbCrLf & "  

  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)" & vbCrLf & "  

  at Application_Name.My.MyApplication.Main(String[] Args) in :line 81" & vbCrLf & "  

  at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)" & vbCrLf & "  

  at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)" & vbCrLf & "  

  at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()" & vbCrLf & "  

  at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)" & vbCrLf & "  

  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)" & vbCrLf & "  

  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)" & vbCrLf & "  

  at System.Threading.ThreadHelper.ThreadStart()}

Я сравнил все свои ссылки с ссылками других программистов, и все они совпадают.

Сначала я удалил DLL, которую создал на неделе ранее и связанный с ней код, а затем библиотека объектов Microsoft Excel 15.0 и Microsoft Visual Basi c для расширяемости приложений. Все еще получил ошибку….

Я приступил к удалению ссылок на OFFICE, Crystal и Infragistics, закомментировал почти весь код и удалил все элементы управления. Приложение наконец открылось, но в нем ничего не было (я все удалил).

Когда я сделал резервную копию исходной папки и выполнил новую функцию Get Latest. Я больше не получал те же сообщения, но приложение все еще не запускалось. Я получил сообщения, что AxInterop.AcroPDFLib и PDFMerge не определены. Они должны были быть скопированы, когда я делал Get Latest.

Я пробовал exe из более ранних сборок, и я не открывал их вообще, сообщений не было.

В Свойствах \ Компиляции I попытался изменить целевой процессор на AnyCPU и x64.

Я экспериментировал с регистрацией созданной мной DLL (но не подозреваю, что это проблема), но получил сообщение о том, что он был загружен, но точка входа DLLRegisterServer не найдена , Поиск по этому вопросу выявил больше работы, поэтому я пока отложил это в сторону.

Я подозреваю, что это вещи из Infragistics, но, как уже упоминалось, ссылки выглядят хорошо, и приложение работает на машинах большинства других.

Пожалуйста, помогите.

...