2012-02-10 56 views
15

Tôi muốn ứng dụng của tôi được xây dựng cho x64 (vì tôi đang sử dụng dll x64). Trong trình quản lý cấu hình, tôi đã đặt "Nền tảng giải pháp tích cực" thành "x64" Tuy nhiên trong danh sách dự án, Nền tảng được đặt thành "x86". "Nền tảng mục tiêu" vào bất động sản dự án cũng được thiết lập để "x86"Nền tảng giải pháp tích cực VS Nền tảng dự án VS Mục tiêu nền tảng

Tôi hoàn toàn bối rối có ba vị trí để đặt mục tiêu nền tảng:

  • Cấu hình quản lý: Active nền tảng giải pháp
  • Cấu hình quản lý: Dự án nền tảng
  • Thuộc tính dự án: Mục tiêu nền tảng

Ví dụ: tôi có thể đặt Nền tảng giải pháp hiện hoạt thành x64, Dự án pla chuyển thành x86 và mục tiêu Dự án thành x64. Điều đó có nghĩa là gì?

Người nào đó có thể mô tả chính xác ý nghĩa của từng tùy chọn này và cách chúng được sử dụng cùng nhau không? Làm thế nào để biên dịch sang x64?

Trả lời

18

Nền tảng giải pháp hoạt động cho phép bạn định cấu hình kết hợp cấu hình cụ thể cho từng dự án. Nền tảng dự án cho phép bạn thực hiện các cài đặt cấu hình cụ thể cho một dự án. Hai thiết lập này không thực sự nói bất cứ điều gì về nền tảng mà các giải pháp và các dự án sẽ được xây dựng, nó chỉ là một bộ cấu hình mà bạn có thể thay đổi các thiết lập thực tế cho. Theo mặc định, thiết lập x64 thiết lập dự án được biên dịch riêng cho x64, nhưng điều này có thể thay đổi trong thuộc tính dự án thông qua thuộc tính Project Target (mặc dù sẽ rất khó để thay đổi đích cho tập cấu hình hiện có thành là bất cứ điều gì khác hơn là tên của nó).

Mỗi thuộc tính của Mục tiêu nền tảng thuộc tính là cài đặt được sử dụng để cho biết nền tảng dự án nào được biên dịch. Một thiết lập của AnyCPU là thiết lập được khuyến nghị nếu dự án đó không có bất kỳ sự phụ thuộc nào vào các thành phần yêu cầu một nền tảng cụ thể để làm việc.

Thiết lập AnyCPU sẽ gây ra hội đồng để được JIT: ed để

  • x86 trên nền tảng 32 bit
  • x64 trên 64 nền tảng chút

Xem this question để biết thêm thông tin. Đối với ví dụ của bạn, thiết lập nền tảng giải pháp tích cực thành x64, Nền tảng dự án thành x86 và Mục tiêu dự án thành x64 có nghĩa là khi chọn cấu hình giải pháp, cụm dự án sẽ được xây dựng cho JIT chỉ đến 64 bit, gây ra lỗi nếu bạn đã thử chạy trên nền tảng 32 bit.

Cài đặt x64 nên được sử dụng nếu bạn có phụ thuộc vào tài nguyên chỉ 64 bit, chẳng hạn như dll 64 bit. Tương ứng thiết lập x86 nên được sử dụng nếu bạn có một sự phụ thuộc vào một tài nguyên chỉ 32 bit.

Cài đặt trình quản lý cấu hình có thể được sử dụng để thay đổi cách bạn xây dựng dự án bằng ví dụ: sử dụng các hội đồng tham chiếu khác nhau cho x86/x64 hoặc thậm chí để gỡ lỗi/phát hành, như in this question.Tập cấu hình được biểu diễn dưới dạng các biến có thể được sử dụng bên trong cấu hình xây dựng để kiểm soát những gì cần đưa vào và tạo các tác vụ để chạy cho một cấu hình cụ thể. Hãy xem bên trong một tập tin dự án với notepad và bạn sẽ thấy nó được sử dụng như thế nào.

+4

Mức độ phức tạp điên rồ, khi có vẻ đủ để chỉ có hai nút chuyển trong thuộc tính dự án (x64 | x86 | Bất kỳ CPU nào). – SerG

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