2010-04-20 30 views
13

Tôi đã cài đặt khung .net 4 trên một trong các máy chủ của tôi.Cài đặt dự án .net 4 trên máy chủ đích - Hệ thống lỗi.BadImageFormatException

Khi tôi chạy một dự án lắp đặt tạo ra trong Visual Studio - nhận được lỗi sau:

Error 1001 Exception occurred while initializing the installation. System.BadImageFormatException: Could not load file or assembly or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Tôi đã chắc chắn được cài đặt .NET Framework 4 trên máy mục tiêu - những gì đang xảy ra?

Trả lời

23

tôi cuối cùng đã tìm thấy giải pháp cho điều này, và viết blog về nó: Deploying .NET 4 Project – Error 1001 (System.BadImageFormatException)


Cập nhật: sao chép nội dung từ blog:

"Sau khi tham dự các sự kiện Anh Tech ngày tuần trước ở London, tôi muốn nhảy vào Visual Studio 2010 và .net 4.0 bandwagon

Tôi đã chuyển đổi một số dự án của mình tại Crocus sang khung .net 4 (trong đó w Tôi thậm chí còn tận dụng một số tính năng nhanh chóng để triển khai các tính năng trong .net 4 và chuyển đổi một số phương thức ồ ạt của chúng tôi để sử dụng các tham số tùy chọn.

Một dự án đặc biệt là một Dịch vụ Windows, gửi đơn đặt hàng theo lịch biểu. (Gần đây tôi đã viết về cách điều này đã phá vỡ do Quartz.net mong đợi thời gian bắt đầu UTC)

Điều này có dự án triển khai Visual Studio được liên kết với nó.

Sau khi xây dựng mới được nâng cấp .net 4 phiên bản của dự án, và triển khai tệp .msi để máy chủ mục tiêu của chúng tôi, tôi đã nhận lỗi sau:

Error 1001 Exception occurred while initializing the installation. System.BadImageFormatException: Could not load file or assembly or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Bây giờ, tôi đã chắc chắn nâng cấp máy chủ để nói .net 4 (hai lần, như một vấn đề của thực tế - sau lần đầu tiên tôi nhận được lỗi này!)

Sau khi một số Googling, một số người đã nói thay đổi platform target trên hội đồng của tôi, mà tôi đã làm, vô ích.

Cuối cùng tôi đã phát hiện sự cố.

Bạn cần phải đặt .NET Framework Launch Condition

Dưới đây là làm thế nào để làm điều đó:

  1. Nhấp chuột phải vào dự án triển khai trong dung dịch thám hiểm. Trong menu ngữ cảnh, chọn View -> Launch Điều kiện
  2. Dưới 'bản' chọn' .NET Framework 4'

Sau khi xây dựng lại và triển khai các tập tin cài đặt của tôi, tất cả mọi thứ đã làm việc tốt "

+0

Tôi đang gặp vấn đề tương tự. Howver, liên kết của bạn bị chặn tại nơi làm việc. Nó được gắn thẻ là một trang web độc hại vì một lý do nào đó. Bạn có thể chỉ cho mình hướng chính xác được không? – Kevin

+0

Tôi đã đủ may mắn để có vi-rút quần bò đó trên trang web của tôi- Câu trả lời ở trên là bản tóm tắt về những việc cần làm. – Alex

+0

câu trả lời là một liên kết bị hỏng. Quá tệ, thực sự cần cái này. –

10
.
  1. Nhấp vào dự án trình cài đặt, sau đó chuyển đến Dự án> Thuộc tính.
  2. Bấm vào nút Điều kiện tiên quyết
  3. Kiểm tra “Microsoft .NET Framework 4 (x86 và x64)” hộp và bỏ chọn các phiên bản trước của khuôn khổ
  4. Hit ok trên cửa sổ Điều kiện tiên quyết và trên cửa sổ thuộc tính.
  5. Nhấp chuột phải vào dự án trình cài đặt và đi tới Xem> Khởi chạy Điều kiện
  6. Đánh dấu điều kiện .NET Framework và cập nhật các trường sau trong hộp thuộc tính
    a. InstallURL: http://msdn.microsoft.com/en-us/netframework/aa569263.aspx
    b. Phiên bản: .NET Framework 4
  7. Xây dựng lại trình cài đặt
+1

Điều này giải quyết được vấn đề cho tôi. Cảm ơn bạn. –

+0

Điều này không giải quyết được vấn đề cho tôi. Mọi thứ được đặt thành x64 và .NET Framework 4, và tôi vẫn gặp lỗi này. – Triynko

Các vấn đề liên quan