chúng tôi có một ứng dụng được viết bằng .NET 4.0 sử dụng Báo cáo tinh thể SAP này. Trong khi cùng một build (x86) hoạt động hoàn toàn OK trong Windows 2003/2008 (cả x86/x64) với .NET 4.0 framework được cài đặt (x86) và CrystalReports runtimes được cài đặt (donwladed từ các trang SAP http://scn.sap.com/docs/DOC-7824) bằng cách sử dụng 13.0.1.x (32bit_13_0_1.msi).Không thể tải tệp hoặc lắp ráp máy chủ 'CrystalDecisions.CrystalReports.Engine'/Windows 2012
Khi cùng một nội dung được cài đặt trong máy chủ MS 2012 (x64), đã có .NET framework 4.5 được cài đặt sẵn, do đó tôi không thể cài đặt .NET 4.0, tuy nhiên có vẻ như nó tương thích ngược, vì ứng dụng đang hoạt động đúng cách, ngoại trừ phần Crystal Reports, trong đó ứng dụng ném một ngoại lệ.
Không thể tải tệp hoặc lắp ráp 'CrystalDecisions.CrystalReports.Engine, Phiên bản 10.5.3700.0, culture = neutral, PublicKeyToken = blahblah' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy các tập tin được chỉ định.
Tất nhiên thời gian chạy được cài đặt, nhưng vì lý do nào đó ứng dụng của chúng tôi không thể nhận ra các tệp DLL đó. Cá nhân tôi không nghĩ rằng đó là một vấn đề xây dựng vì nó hoạt động đúng với cấu hình tương tự trong máy chủ 2003/2008.
Chúng tôi chỉ có phiên bản phát hành được cài đặt, vì vậy không có tùy chọn gỡ lỗi nào khả dụng và VS cũng không được cài đặt.
Về cơ bản, chúng tôi chỉ thực hiện một số kiểm tra nếu ứng dụng hoạt động bình thường trong máy chủ 2012, nhưng vấn đề này dường như không thể giải quyết được. Tôi đã dành hàng giờ trên Google để không có kết quả. Vì vậy, bất kỳ ý tưởng gì để kiểm tra được đánh giá cao :)
Cảm ơn Tomas
Sửa
Giải pháp: để cài đặt runtimes cũ năm 2008.
Nguyên nhân gốc: Trên máy xây dựng của chúng tôi, chúng tôi có cả hai thời gian chạy vẫn được cài đặt (chúng tôi cũng cần hỗ trợ các phiên bản cũ hơn). Trong proj tệp các hội đồng CR không được tham chiếu phiên bản cụ thể, chỉ bằng tên. Vì vậy, trong quá trình xây dựng, lắp ráp phù hợp thấp nhất đầu tiên từ GAC đã được sử dụng và do đó cần phải có CR 2008 cài đặt là tốt. Giải pháp là để tham khảo các hội đồng bên thứ 3 trong các tập tin dự án cũng theo phiên bản để buộc việc sử dụng các phiên bản mới hơn.
Ok, đã giải quyết. Bằng cách sử dụng "gacutil/lr" tôi nhận ra rằng CR được sử dụng cho xây dựng đã được cho VS 2008. Cài đặt runtimes cũ giải quyết vấn đề này. – TomKyblik