2010-10-19 15 views
5

dobrze,Nie można załadować typu „NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle”

Jak czytam i spróbować każdy temat podobny bezskutecznie, zdecydowałem się pisać moje własne pytanie. Moje rozwiązanie zawiera aplikację konsolową i bibliotekę klas dla dostępu do danych. Konfiguracja Nhibernate znajduje się wewnątrz appconfig w aplikacji konsolowej (którą obecnie używam do debugowania, jak to zrobię po utworzeniu aplikacji sieciowej i migracji całej konfiguracji do web.config).

Wyjątkiem jest dobrze wiedzieć:

NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: Unable to load type NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle.dll' during configuration of proxy factory class. Possible causes are: - The NHibernate.Bytecode provider assembly was not deployed. - The typeName used to initialize the 'proxyfactory.factory_class' property of the session-factory section is not well formed. Solution: Confirm that your deployment folder contains one of the following assemblies: NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException: Could not load file or assembly 'NHibernate.ByteCode.Castle.dll' or one of its dependencies. The system cannot find the file specified.

Kroki wziąłem spróbować go rozwiązać:

1) dll w folderze rozmieszczania - Mam następujący dll w moim kosza :
Antlr3.Runtime.dll - v 3.1.3.42154
Castle.Core.dll - v 2.5.1.2121
Castle.DynamicProxy2.dll - v 2.2.... 0,6628
Iesi.Collections.dll - v.3.0.0.1002
log4net.dll - v. 1.2.10.0
NHibernate.ByteCode.Castle.dll - v.3.0.0.2001 NHibernate.dll - v.3.0 .0.1002
Oracle.DataAccess.dll - v.4.112.1.2
Remotion.Data.Linq.dll - v.1.13.41.2

2) konfiguracja w bloku konfiguracji

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
<session-factory> 
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
    <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property> 
    <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property> 
    <property name="connection.connection_string_name">MetaManager</property> 
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property> 
    <mapping assembly="MetaManager.Data"/> 
</session-factory> 

3) Ustawiłem projekt MetaManager.Data do wdrożenia w procesorze x86
4) Wszystkie pliki dll w moim folderze bin są przywoływane w projekcie.

Myślę, że to wszystko. Nie wiem, byli pójść :(

Pedro Dusso

aktualizacje w pogrubioną

+0

możliwy duplikat [NHibernate nie może załadować Proxy Factory] (http://stackoverflow.com/questions/1913504/nhibernate-unable-to-load-proxy-factory) –

Odpowiedz

7

myślę, że masz złą wersję Castle. Powinieneś być o Castle.Core.dll. NHibernate. ByteCode.Castle.dll prawdopodobnie nie jest załadowany, ponieważ nie może znaleźć Castle.Core.dll.

w pobrania http://sourceforge.net/projects/nhibernate/files/NHibernate/3.0.0Beta1/, pliki znajdujące się w katalogu \ Required_For_LazyLoading \ zamku są pliki potrzebne.

+0

Dziękuję bardzo, ale to nie zadziałało. Byłem już z wersją alpha, teraz aktualizuję wersję beta, ale błąd nadal występuje. Będę dalej szukać. Dzięki jeszcze raz. –

+0

Spróbuj wykonać następujące czynności: 1) usuń wszystkie pliki dll nhibernate 2), a następnie odbuduj projekt 3) skopiuj wszystkie biblioteki dll z \ Required_Bin i \ Required_For_LazyLoading \ Castle z wersji beta zip i opisz je 4) odbuduj swój projekt i sprawdź, czy wszystkie biblioteki dll są w bin \ Debug. Zwykle działa to dla mnie. –

+0

Nie uwierzysz ... VS szukał DLL w folderze bin aplikacji konsolowej (źle nazwanym "Debugowanie" również ...) nie w moim MetaManaget.Data projektu :(Po umieszczeniu bibliotek dll dostałem inny błąd (oracle) .. nie taki sam stary ** # $% # $ słowa! Dzięki za wizualizację! –

Powiązane problemy