I am writing a .NET 3.5 application (WinForms) that uses classes from an external DLL, and I always get it System.TypeLoadExceptionevery time the application tries to start.
Here is an example of a VS mapping:
System.TypeLoadException was unhandled
Message = Could not load type 'PolyMorph.Common.Settings' from assembly 'PolyMorph, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null'.
Source = PolyMorph
TypeName = PolyMorph.Common.Settings
Stacktrace:
at PolyMorphApp.App.Initialize ()
at PolyMorphApp.App.Main ()
at System.AppDomain._nExecuteAssembly (Assembly assembly, String [] args)
at System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly ()
at System.Threading.ThreadHelper.ThreadStart_Context (Object state)
at System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart ()
InnerException:
Here is the code I'm running:
Friend NotInheritable Class App
<STAThread()> Shared Sub Main()
'set the exception handlers'
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledExceptionHandler
AddHandler Application.ThreadException, AddressOf ThreadExceptionHandler
'initialize the application'
App.Initialize()
'and then run the application'
Dim mainForm As New PolymorphHost
Application.Run(mainForm)
End Sub
Shared Function Initialize() As FunctionResult
If App.InitializeDataDirectory() = False Then
Return New FunctionResult(False, "the application data directory")
End If
_settings = New PolyMorph.Common.Settings(AppDataDirectory & "\Settings.dat")
......code continues to load settings from the _settings variable
End Function
End Class
It amazes me that the VS2010 Debugger stops on the line App.Initialize()without even entering a function Initialize.
If, however, I comment out all links to an external DLL in a function Initialize, the application initializes correctly.
, , , ( x64 DLL, x86). , DLL x86, TypeLoadException.
-, ?