Я написал приложение в VB.NET, используя MS Visual Studio 2005. Я использую .NET версии 2.0.50727. Приложение работало без ошибок до недавнего времени. После некоторого использования он начинает производить System.Runtime.InteropServices.COMException error (80080005)
. Ошибка происходит, когда я звоню, чтобы создать экземпляр другого внешнего приложения. Как только эта ошибка произошла, она никогда не исчезнет, возникающая при каждом открытии моего приложения. Эта ошибка нарушает функциональность моей программы, поскольку она зависит от второго вызываемого приложения.
Я не уверен, с чего начинается эта ошибка, но я знаю, что она зависит от пользователя, а не от приложения. Похоже, что-то происходит в профиле Windows пользователя. Я могу использовать другого пользователя на той же машине или создать новый профиль для пользователя с проблемой, и программа некоторое время будет работать без ошибок. В конце концов (в течение нескольких недель) ошибка вернется и останется, пока я не исправлю ее снова.
Я пытаюсь отладить ошибку COM, чтобы понять, почему это происходит, но это такое странное поведение, я не уверен, с чего начать. Я никогда не видел ошибки, которая привела бы себя к профилю и сделала бы его постоянным.
У меня нет большого опыта работы с .NET, но я много занимался разработкой приложений на VB 6. Пожалуйста, предлагайте любые предложения, которые у вас есть. Ваша помощь очень ценится.
Вот БЛОК КОДА, в котором происходит ошибка:
Public Class frmMain
Public btApp As BarTender.Application
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
btApp = New BarTender.Application
Catch COMex As Runtime.InteropServices.COMException
MessageBox.Show("Error " + COMex.ErrorCode.ToString() + ": " + COMex.Message)
End Try
Я объявляю переменную в верхней части формы frmMain.vb (первая загружаемая форма).
Я загружаю COM-объект, когда загружается первая форма. Я оставляю это активным, пока приложение не закрывается, потому что я делаю много звонков к нему.