title: Mixed mode assembly in .NET 4
body: <p>I wrote a class library in .NET 2.0 for database access some 2 years ago and have been using it all along on .NET 2.0, 3.0 and 3.5.</p>
  
  <p>In the current project I'm working on (which is a .NET 4.0 application), tried using the old faithful class library and I got the following exception:</p>
  
  <hr>
  
  <pre>
  System.InvalidOperationException was unhandled
    Message=An error occurred creating the form. See Exception.InnerException for details.
      The error is: Mixed mode assembly is built against version 'v2.0.50727' of the runtime
      and cannot be loaded in the 4.0 runtime without additional configuration information.
      Source=SchoolManager
    StackTrace:
         at SchoolManager.My.MyProject.MyForms.Create__Instance__[T](T Instance) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 190
         at SchoolManager.My.MyProject.MyForms.get_frmGeneric()
         at SchoolManager.My.MyApplication.OnCreateMainForm() in D:\Alex\Documents\Visual Studio 2008\Projects\School Manager\SchoolManager\My Project\Application.Designer.vb:line 35
         at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
         at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
         at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
         at SchoolManager.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
         at System.AppDomain._nExecuteAssembly(RuntimeAssembly 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, Boolean ignoreSyncCtx)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.ThreadHelper.ThreadStart()
    InnerException: System.IO.FileLoadException
         Message=Mixed mode assembly is built against version 'v2.0.50727' of 
             the runtime and cannot be loaded in the 4.0 runtime without additional
             configuration information.
         Source=Dinofage.Data.XpressData
         StackTrace:
              at Dinofage.Data.XpressData.ExecuteSelectInternal(String selectCommand)
              at Dinofage.Data.XpressData.ExecuteSelect(String selectCommand)
              at SchoolManager.Academics.GetNewAdmissionCode(String academicYear) in D:\Alex\Documents\Visual Studio 2008\Projects\School Manager\SchoolManager\Modules\Academics.vb:line 89
              at SchoolManager.StudentDetail..ctor() in D:\Alex\Documents\Visual Studio 2008\Projects\School Manager\SchoolManager\UserControls\StudentDetail.vb:line 20
              at SchoolManager.frmGeneric.InitializeComponent() in D:\Alex\Documents\Visual Studio 2008\Projects\School Manager\SchoolManager\frmGeneric.Designer.vb:line 25
              at SchoolManager.frmGeneric..ctor()
         InnerException: 
  </pre>
  
  <hr>
  
  <p>What could be wrong and how do I fix it?</p>