L'initialiseur de type pour 'NHibernate.Cfg.Configuration " a déclenché une exception
Je suis en utilisant FluentNHibernate et pendant la phase de configuration, j'obtiens l'erreur suivante:
Voici la configuration:
public static ISessionFactory CreateSessionFactory()
{
de retour
Couramment.Configurer().Base de données(
MsSqlConfiguration.MsSql2000.ConnectionString(
c => c.FromConnectionStringWithKey("HighOnCodingConnectionString")))
.Mappages(m =>
m.FluentMappings.AddFromAssemblyOf())
.BuildSessionFactory();
}
Et voici l'erreur:
[défaut] when_instantiating_a_session_factory.should_be_able_to_create_a_session_factory
Cas de test 'when_instantiating_a_session_factory.should_be_able_to_create_a_session_factory'
a échoué: L'initialiseur de type pour 'NHibernate.Cfg.Configuration " a déclenché une exception.
Système.TypeInitializationException
Message: L'initialiseur de type pour 'NHibernate.Cfg.Configuration " a déclenché une exception.
Source: NHibernate
StackTrace:
au NHibernate.Cfg.Configuration..ctor()
c:\FluentNHibernate\src\FluentNHibernate\Cfg\FluentConfiguration.cs(25,0): à FluentNHibernate.Cfg.FluentConfiguration..ctor()
c:\FluentNHibernate\src\FluentNHibernate\Cfg\Couramment.cs(16,0): à FluentNHibernate.Cfg.Couramment.Configurer()
C:\Projects\highoncodingmvc\src\highoncoding\src\HighOnCoding.BusinessObjects\Factories\SessionFactory.cs(17,0): à HighOnCoding.BusinessObjects.Les usines.SessionFactory.CreateSessionFactory()
C:\Projects\highoncodingmvc\src\highoncoding\src\HighOnCoding.TestSuite\Configuration\TestFluentNHiberate.cs(17,0): HighOnCoding.TestSuite.Configuration.when_instantiating_a_session_factory.should_be_able_to_create_a_session_factory()
Exception Interne
Système.IO.FileLoadException
Message: L'assemblée manifeste définition ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)
Source: NHibernate
StackTrace:
au NHibernate.Cfg.Configuration..cctor()
Ici, c'est le journal d'information de FusionLog chose:
* Assemblée Liant Entrée de Journal (6/21/2009 @ 12:49:38 PM) *
L'opération a échoué.
Lier résultat: hr = 0x80070002. Le système ne peut pas trouver le fichier spécifié.
Assemblée manager chargé de: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
L'exécution en vertu de l'exécutable C:\Projects\highoncodingmvc\src\highoncoding\src\HighOnCodingConsole\bin\Debug\HighOnCodingConsole.exe
--- Un journal d'erreurs détaillé de la façon suivante.
=== Pré-lier les informations d'état ===
JOURNAL: Utilisateur = D9SKQBG1\AzamSharp
JOURNAL: DisplayName = NHibernate.XmlSerializers, Version=2.0.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL
(Complètement spécifié)
JOURNAL: Appbase = file:///C:/Projets/highoncodingmvc/src/highoncoding/src/HighOnCodingConsole/bin/Debug/
JOURNAL: Initiale PrivatePath = NULL
JOURNAL: Dynamique de la Base = NULL
JOURNAL: le Cache de la Base = NULL
JOURNAL: AppName = NULL
L'appel de l'assemblée : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
JOURNAL: Cette liaison commence en charge par défaut le contexte.
JOURNAL: l'Utilisation de fichier de configuration d'application: C:\Projects\highoncodingmvc\src\highoncoding\src\HighOnCodingConsole\bin\Debug\HighOnCodingConsole.exe.Config
JOURNAL: l'Utilisation de la machine fichier de configuration de c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
JOURNAL: Post-politique de référence: NHibernate.XmlSerializers, Version=2.0.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL
JOURNAL: GAC de Recherche a été infructueuse.
JOURNAL: la Tentative de téléchargement de la nouvelle URL file:///C:/Projects/highoncodingmvc/src/highoncoding/src/HighOnCodingConsole/bin/Debug/NHibernate.XmlSerializers.DLL.
JOURNAL: la Tentative de téléchargement de la nouvelle URL file:///C:/Projects/highoncodingmvc/src/highoncoding/src/HighOnCodingConsole/bin/Debug/NHibernate.XmlSerializers/NHibernate.XmlSerializers.DLL.
JOURNAL: la Tentative de téléchargement de la nouvelle URL file:///C:/Projects/highoncodingmvc/src/highoncoding/src/HighOnCodingConsole/bin/Debug/NHibernate.XmlSerializers.EXE.
JOURNAL: la Tentative de téléchargement de la nouvelle URL file:///C:/Projects/highoncodingmvc/src/highoncoding/src/HighOnCodingConsole/bin/Debug/NHibernate.XmlSerializers/NHibernate.XmlSerializers.EXE.
JOURNAL: Tous les sonder Url tenté et échoué.
OriginalL'auteur azamsharp | 2009-06-21
Vous devez vous connecter pour publier un commentaire.
On dirait que vous avez compilé avec une version d'une assemblée, mais au moment de l'exécution, c'est de trouver un autre et de se plaindre. Je vous suggère de tournez sur la Fusion de la journalisation de travail sur l' - en particulier, la définition exacte de l'assemblée qui est à l'origine des problèmes!
Il peut charger un assembly dans le GAC au moment de l'exécution. La meilleure façon de le savoir est d'utiliser la fusion de journalisation...
La chose étrange est que j'ai juste ajouté une Application Console et utiliser le même code pour l'établissement de la session de l'usine et il a bien fonctionné sans erreur.
J'ai édité le post original pour inclure les informations du journal à partir de la Fusion. Semble que le coupable est NHibernate.XmlSerializers mais ce montage n'est pas inclus par le FluentNHibernate télécharger!
J'ai aussi essayé le code à insérer dans la base de données et il a travaillé pour une Application Console, sans aucun problème!
OriginalL'auteur Jon Skeet
Je sais que c'est résolus depuis longtemps, mais ayant eu ce problème moi-même aujourd'hui, j'ai trouvé ce que ma solution personnelle et j'ai pensé partager les connaissances:
https://forum.hibernate.org/viewtopic.php?p=2399679
Du poste:
"Mon débogueur de Visual Studio a été mis à l'arrêt sur toutes les exceptions, en ajustant les paramètres d'exception fixe mon problème."
Fait de moi:
http://www.codewrecks.com/blog/index.php/2008/02/13/sgenexe-and-strongly-named-assemblies/
"Après quelques recherche j'ai trouvé que le xxxx.XmlSerializers assemblée est un préfabriqués assemblée que le xmlserializers recherche avant de tenter de générer un au moment de l'exécution..."
OriginalL'auteur redman