Je n'ai pas vu le code pour LoginForm. Mais je pense que vous avez besoin de mettre un drapeau app.config pour revenir à .NET 2.0 consolidations époque ...
Tout d'abord, ce qui est un ensemble de mode mixte? Un assembly en mode mixte est un assembly qui contient à la fois le code géré (CIL) et non géré (langage machine). Par conséquent, ils ne sont pas portables aux autres jeux d'instructions CPU , tout comme programmes C et C++ normaux et bibliothèques.
Ensuite, pourquoi les utiliser? Le but primaire pour les assemblages en mode mixte est en tant que "colle", par ex. utilise une classe de la bibliothèque C++ en tant que classe de base d'une classe gérée. Cela permet à la classe gérée d'étendre les méthodes non gérées, en autorisant le code managé à être polymorphe par rapport aux fonctions non gérées existantes. Ceci est extrêmement utile dans plusieurs contextes. Cependant, comme quelque chose comme celui-ci implique l'extension d'une classe C++, il faut que le compilateur savoir sur le compilateur C++ ABI (nom mutiler, table de fonction virtuelle génération et de placement, exception comportement), et donc efficace exige code natif. Si la base classe se trouve dans une .dll séparée, ce aura aussi besoin que le mode mixte liste d'assemblage du .dll natif en tant que dépendance , de sorte que la bibliothèque native est également chargé lorsque l'ensemble est chargé.
L'autre chose que le mode mixte ensembles support est la capacité à exporter nouvelles fonctions C afin que les autres programmes peuvent LoadLibrary() l'ensemble et GetProcAddress la exportée fonction C.
Ces deux capacités exigent que le chargeur de bibliothèque partagée pour le support de la plate-forme Portable Executable (PE) sous forme d'assemblages sont des fichiers PE .Si le chargeur de bibliothèque partagée prend en charge les fichiers PE, le chargeur peut faire en sorte que lorsque l'ensemble est chargé, toutes les bibliothèques dépendantes énumérés sont également chargés (cas 1), ou que applications natives sera en mesure de charger l'ensemble comme si elle était une DLL native et résoudre les points d'entrée DLL contre il.
quelle est l'exception interne? –
J'ai ajouté le message d'erreur sous forme de texte afin que votre question puisse être trouvée sur Google. –