2010-11-17 6 views
23

Proszę o pomoc. Mam aplikację internetową, która została zbudowana w VS2010 i używamy wtyczki CR na rok 2010 i wszystko działa idealnie na naszych lokalnych maszynach. Kiedy uruchamiamy aplikację WWW na serwerze 2008, aplikacja działa dobrze, dopóki nie spróbujemy dostać się do raportu. Kiedy dotrzemy do raportu otrzymujemy ...Błąd Crystal Reports po wdrożeniu ... Nie można załadować pliku lub zespołu "log4net

Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified. 

Mamy zainstalowany runtimes CR2010 i plików wersję log4net.dll 1.2.10.0 jest w GAC więc nie są przedstawieniu go w aplikacji. Kiedy dodajemy to jako odniesienie, otrzymujemy ten błąd bez względu na to, gdzie jesteśmy w aplikacji, a nie tylko na stronach raportu. Proszę pomóż!

Odpowiedz

0

Rozwiązałem moje problemy.

Mam 2 serwery NLB 2008 R2, moje IIS są skonfigurowane do pracy w x32.

Na jednym serwerze zainstalowałem Redistę x64 i x32 SAP i mam błąd, na drugim serwerze tylko x32 i działa.

Aby uzyskać pierwszy serwer, odinstalowałem wszystkie wersje i ponownie zainstalowałem tylko x32, ale uruchomienie serwera działa dopiero po ponownym uruchomieniu.

Bye

17

dostałam ten sam komunikat o błędzie po przypadkowym zainstalowaniem wersji x86 kryształu raporty REDIST na maszynie x64.

Instalacja poprawną x64 REDIST rozwiązaniu problemu - http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.zip

+0

Wypracowało mnie dla mnie. Jeszcze jeden problem. Raport nic nie pokazuje, pokazuje pustą stronę. –

+1

App pool Advanced -> Zezwalaj na aplikację 32-bitową (True), wystarczy bez potrzeby instalowania redystrybucji x64 jako @Matt mówi – OldTrain

16

Właśnie wpadł na ten sam problem i okazało się, że nie (w naszym przypadku) będzie wersja REDIST Crystal Reports (mamy zainstalowany 32 bit . wersje na naszych maszynach 64-bitowych sposób byliśmy w stanie rozwiązać tego problemu było

Przejdź do wirtualnego katalogu Application Pool -> Ustawienia zaawansowane -> Ustaw Enable 32-Bit Applications True

i zmieniono tryb zarządzanego potoku z Klasycznego na Zintegrowany. Po tym nie mamy już błędów z brakującej biblioteki log4net.

4

Jeśli masz komputer rozwoju x86 i serwer WWW jest maszyna 64-bit, może być uruchomiony do problemu omawianego tutaj:

http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/546059a6-7179-4027-8f16-822ac6dc189a/

Visual Studio automatycznie wdrażania 32-bit log4net.dll na 64-bitowy serwer WWW, nawet jeśli nie ma go w projekcie. Po prostu usuń plik log4net.dll z katalogu bin po zakończeniu wdrażania, ponieważ nie jest on faktycznie wymagany do działania środowiska wykonawczego CR.

3

Mieliśmy również ten sam problem z zainstalowanym 64-bitowym pakietem redystrybucyjnym. W naszym przypadku ustawiliśmy opcję "Włącz aplikacje 32-bitowe" na FALSE w zaawansowanych właściwościach puli aplikacji, która rozwiązała problem.

+0

Dzięki Alan Samet, Działa. Ustawiłem również 32-bitowy na False i działa. Dziękuję bardzo za dostarczenie prostego sposobu rozwiązania tego problemu. –

1

Dla mnie miałem projekt aplikacji VB i pod opcjami kompilacji, miałem "dowolny procesor" wybrany dla docelowego procesora i miałem również zaznaczone "Preferuj 32-bitowe". Gdy skompilowana aplikacja uruchomiona na 64-bitowym komputerze, na którym zainstalowano tylko środowisko wykonawcze x64, mógł ulec awarii z powodu tego błędu, ponieważ próbował działać jako aplikacja 32-bitowa i chciał 32-bitowego środowiska wykonawczego. Usunięcie zaznaczenia tej opcji i ponowne skompilowanie sprawiło, że działa ona poprawnie.