【发布时间】:2010-11-01 10:42:03
【问题描述】:
挑选了一个最初为 .NET 框架 1.1 版编写的遗留 VB.NET 项目。我正在使用 .NET 3.5 运行 Vista。我已经清除了所有原始错误,项目将建立;它只是不会运行。
据我所知,它正在尝试运行“LoginForm”,但放置断点不起作用,因为在到达断点之前抛出错误,无论它们放置在文件中的什么位置。
真的不知道该怎么办!任何帮助表示赞赏。
堆栈跟踪:
System.IndexOutOfRangeException 未处理 Message="索引超出了数组的范围。" 来源="第一行" 堆栈跟踪: 在 FirstLine.LoginForm.main() 在 System.AppDomain._nExecuteAssembly(程序集程序集,字符串 [] 参数) 在 System.AppDomain.ExecuteAssembly(字符串 assemblyFile,证据 assemblySecurity,String [] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart() 内部异常:编辑:非常抱歉,不明白代码会有多大用处,因为问题更多是我无法解决的。但是,这是主要功能:
共享子 main() Dim p As Process() = Process.GetProcessesByName("FirstLine") 如果 p.Length = 1 那么 '开始抄写员 '将到期日期调暗为日期 = CDate("01/01/1970") '将到期时间变暗为整数 '尝试 ' GetCopyMinderExpiryDate(到期) ' 如果未到期 = 0 且未到期 = 1 则 ' 到期日 = 到期日.AddSeconds(到期) ' Dim diff As Integer = DateDiff(DateInterval.Day, Date.Now, expirydate) ' 如果 diff >= 0 并且 diff 0 那么 ' 显示错误((ret_code)) ' 结尾 '万一 'Dim 做为字符串 'GetCopyMinderDeveloperID(did) '如果做了“它”然后 ' MessageBox.Show("无效的开发者 ID " & did & "。Firstline 现在将关闭", "Firstline", MessageBoxButtons.OK, MessageBoxIcon.Error) ' 结尾 '万一 '结束抄写员 暗淡作为新的登录表单 如果 LoginSettings.setting("loginShowErrorOnLine") = "TRUE" 那么 lf.ShowDialog() 别的 尝试 lf.ShowDialog() 抓住前任作为例外 消息框(例如消息) Config.UnlockByUser(Config.currentUser.username) Config.currentUser.UserLoggedOff() 结束尝试 万一 别的 将 prc 作为进程调暗 = p(0) SwitchToThisWindow(prc.MainWindowHandle, True) 万一 结束子感谢您迄今为止的回复。看到这样一个乐于助人的社区令人鼓舞!
【问题讨论】:
-
发布一些代码。 LoginForm.main() 里面有什么?与此同时,这可能会有所帮助:stackoverflow.com/questions/964566/…
-
FirstLine.LoginForm.main() 的一些源代码可能会有所帮助:-)。