我正在处理一个使用 .Net 2.0 在 VB 中开发的项目。这个项目从未完成,但我需要利用它来测试新代码。加载时,有几个错误已通过将 .Net 版本提升到 4.0 得到纠正。(不要问我为什么……它可能是在更高的 .Net 版本上开发的,然后降到 2.0 以使其与共享类兼容;该项目因 .Net 不兼容而被放弃)。
我现在遇到的问题是在编译和运行时,在 UI 出现之前出现异常。关于无效操作异常(下面列出的全文)。
这段代码不会发布,所以我不关心稳定性。我真正需要做的是遵循调试模式下接收文件时发生的情况,因此我可以确定为什么我发送的文件被拒绝。
感谢您的任何帮助。
--- 完整的错误文本 ---
System.InvalidOperationException 未处理 Message=创建表单时出错。有关详细信息,请参阅 Exception.InnerException。错误是:无法加载文件或程序集“Framework.Utility,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。试图加载格式不正确的程序。Source=HL7.Receiver StackTrace:在My.MyProject.MyForms.Create_InstanceRunUsersAssembly() 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading.ThreadHelper.ThreadStart () InnerException: System.BadImageFormatException Message=Could not load file or assembly 'Framework.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。试图加载格式不正确的程序。Source=Framework.Windows.UI FileName=Framework.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null FusionLog==== 预绑定状态信息=== LOG: User = User LOG: DisplayName = Framework。Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null (Full-specified) LOG: Appbase = file:///C:/Code/Common Production Components/HL7 Receiver+Sender/HL7 Receiver/HL7 TCPIP V2/ bin/Debug/LOG:Initial PrivatePath = NULL 调用程序集:Framework.Windows.UI,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null。LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:C:\Code\Common Production Components\HL7 Receiver+Sender\HL7 Receiver\HL7 TCPIP V2\bin\Debug\HL7.Receiver.vshost.exe.Config LOG:使用主机配置文件:LOG:使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config 中的机器配置文件。LOG:此时未将策略应用于引用(私有、自定义、部分或基于位置的程序集绑定)。日志:正在尝试下载新的 URL 文件:///C:/Code/Common Production Components/HL7 Receiver+Sender/HL7 Receiver/HL7 TCPIP V2/bin/Debug/Framework.Utility.DLL。ERR:无法完成程序集的设置(hr = 0x8007000b)。探测终止。
StackTrace:
at Framework.Windows.UI.Form..ctor()
at ReceiverForm..ctor() in C:\Code\Common Production Components\HL7 Receiver+Sender\HL7 Receiver\HL7 TCPIP V2\Forms\ReceiverForm.vb:line 22
InnerException:
如果它有帮助,这里是有问题的自动生成的代码:
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.ReceiverForm
End Sub
End Class
结束命名空间
错误所在的第 34 行显示Protected Overrides Sub OnCreateMainForm()
. 再次感谢您的任何建议。