2010-11-17 10 views
23

Vui lòng trợ giúp. Tôi có một ứng dụng web được xây dựng trong VS2010 và chúng tôi đang sử dụng plugin CR cho năm 2010 và mọi thứ hoạt động hoàn hảo trên các máy cục bộ của chúng tôi. Khi chúng tôi đi triển khai ứng dụng web đến Server 2008, ứng dụng chạy tốt cho đến khi chúng tôi cố gắng truy cập báo cáo. Khi chúng ta có được một báo cáo chúng tôi nhận được ...Lỗi báo cáo pha lê khi triển khai..Không thể tải tệp hoặc lắp ráp '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. 

Chúng tôi đã cài đặt các runtimes CR2010 và phiên bản log4net.dll tập tin 1.2.10.0 là trong GAC vì vậy chúng tôi không tham khảo nó trong ứng dụng. Khi chúng tôi thêm nó như là một tham chiếu, chúng tôi nhận được lỗi này bất kể chúng ta đang ở đâu trong ứng dụng, không chỉ trên các trang báo cáo. Hãy giúp tôi!

Trả lời

0

Giải quyết được sự cố của tôi.

Tôi có 2 máy chủ NLB 2008 R2, IIS của tôi được định cấu hình để chạy trong x32.

Trong một máy chủ tôi đã cài đặt x64 và x32 SAP redist và tôi có lỗi, trong máy chủ thứ hai chỉ có x32 và hoạt động.

Để có được công việc máy chủ đầu tiên, tôi đã gỡ cài đặt tất cả các phiên bản và chỉ cài đặt lại x32, nhưng máy chủ chỉ hoạt động sau khi khởi động lại.

Bye

17

Tôi nhận được thông báo lỗi tương tự sau khi vô tình cài đặt phiên bản x86 của tinh thể báo cáo redist trên một máy x64.

Cài đặt x64 redist đúng cố định vấn đề - http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.zip

+0

Nó đã giúp tôi. Tuy nhiên, một vấn đề nữa. Báo cáo không hiển thị gì, nó hiển thị trang trống. –

+1

App pool Advanced -> Cho phép ứng dụng 32 bit (True), đủ mà không cần cài đặt x64 redist như @Matt nói – OldTrain

16

Chúng tôi chỉ chạy vào cùng một vấn đề và nó bật ra không (trong trường hợp của chúng tôi) là phiên bản của redist Crystal Reports (chúng tôi cài đặt các bit 32 . phiên bản trên máy 64 bit của chúng tôi cách chúng tôi đã có thể khắc phục vấn đề là

Navigate vào thư mục ảo của bạn Application Pool -> Advanced Settings -> Thiết Enable 32-Bit Applications True

và thay đổi chế độ đường ống được quản lý từ Cổ điển thành Tích hợp. Sau đó chúng tôi không còn có lỗi của dll log4net còn thiếu nữa.

4

Nếu bạn có một máy phát triển x86 và máy chủ web của bạn là một máy 64-bit, bạn có thể chạy vào các vấn đề thảo luận ở đây:

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

Visual Studio sẽ tự động được triển khai một 32-bit log4net.dll vào máy chủ web 64 bit, ngay cả khi bạn không có nó tham chiếu trong dự án của bạn. Chỉ cần xóa log4net.dll khỏi thư mục bin của bạn sau khi triển khai đã hoàn thành vì nó không thực sự được yêu cầu bởi thời gian chạy CR để làm việc.

3

Chúng tôi cũng gặp sự cố tương tự với cài đặt lại có thể phân phối lại 64 bit. Trong trường hợp của chúng ta, chúng ta thiết lập cài đặt "Enable 32 Bit Applications" thành FALSE trong các thuộc tính Application Pool nâng cao và giải quyết vấn đề.

+0

Cảm ơn Alan Samet, Nó đang hoạt động. Tôi cũng đã thiết lập 32-bit thành False & nó đang hoạt động. Cảm ơn bạn rất nhiều vì đã cung cấp cách đơn giản để giải quyết vấn đề này. –

1

Đối với tôi, tôi đã có một dự án ứng dụng VB và dưới tùy chọn biên dịch, tôi đã chọn "CPU bất kỳ" cho CPU mục tiêu và tôi cũng đã chọn "Ưu tiên 32 bit". Khi ứng dụng được biên dịch chạy trên máy 64 bit, chỉ có thời gian chạy x64 được cài đặt, nó có thể bị lỗi với lỗi này, vì nó đã thử chạy dưới dạng ứng dụng 32 bit và muốn thời gian chạy 32 bit. Bỏ chọn tùy chọn này và biên dịch lại làm cho nó hoạt động chính xác.