2011-11-30 11 views
15

Ban đầu, tôi đã tạo ứng dụng bảng điều khiển sử dụng Mass Transit làm xe buýt dịch vụ của mình. Gần đây, tôi chuyển sang NServiceBus, không yêu cầu bạn tạo ứng dụng bảng điều khiển, thay vào đó là thư viện lớp. Trong các thuộc tính của dự án, tôi chỉ đơn giản là chuyển thiết lập thay đổi nó từ một ứng dụng giao diện điều khiển sang một thư viện, nhưng ràng buộc mà bạn chỉ có thể xây dựng nó cho x86 vẫn có hiệu lực.Cách thêm x64 (hoặc CPU bất kỳ) làm tùy chọn xây dựng trong Visual Studio 2010 (từ ứng dụng bảng điều khiển sang thư viện lớp)

Tôi không thể thay đổi loại bản dựng thành CPU bất kỳ ngay bây giờ vì đây là ứng dụng bảng điều khiển, ứng dụng này giờ sẽ hợp lệ. Có cách nào để hoàn toàn thay đổi ứng dụng của tôi thành thư viện lớp để tôi có thể chạy tùy chọn xây dựng CPU bất kỳ không? Tôi có cần phải tạo một dự án mới, sao chép các tệp vào đó và tiếp tục theo cách đó không? Hoặc là nó đơn giản như thay đổi một cái gì đó trong tập tin dự án (.proj)?

Câu hỏi về ngăn xếp ngăn xếp Missing Debug|Any CPU build configuration for projects and defaulting to Debug|x86 on Windows x64 cung cấp thêm ngữ cảnh xung quanh vấn đề này của x86 chỉ dành cho ứng dụng bảng điều khiển.

+0

Bạn đang chiến đấu một quyết định thiết kế rất cơ bản câm trong VS2010, mọi dự án bạn thêm vào giải pháp của bạn mặc định thành mục tiêu nền tảng của x86. Ngay cả thư viện lớp học, loại mà không có gì nói về những gì dự án EXE đã chọn. Chỉ cần lật thiết lập trở lại AnyCPU. –

+2

@Hans ... không, chỉ những dự án tạo ra EXE mặc định là x86, bởi vì MS đã xác định rằng các EXE kiến ​​trúc trung lập thường gặp nhiều rắc rối hơn chúng đáng giá. Các ứng dụng 32 bit có quyền truy cập vào nhiều tính năng hơn và thường nhanh hơn một chút so với các ứng dụng 64 bit, do đó, đó là mặc định. Các phiên bản beta đã có một lỗi mà mặc định tất cả các dự án để x86, nhưng các phiên bản mới nhất của lớp thư viện mặc định cho bất kỳ CPU. – Gerald

Trả lời

18

Bạn chỉ cần thêm cấu hình cho CPU bất kỳ trong trình quản lý cấu hình.

1) Kích chuột phải vào các giải pháp và chọn Properties

2) Chọn Configuration Properties, sau đó nhấp vào Configuration Manager ...

3) Thay đổi nền tảng giải pháp tích cực để Bất kỳ CPU. Nếu không có nền tảng CPU nào, hãy chuyển đến # 4.

4) Bấm vào mũi tên trong hộp combo dưới cột Cương lĩnh thư viện lớp học của bạn, và chọn New ...

5) Hãy chắc chắn rằng "Bất kỳ CPU" được chọn trong New Platform. Nếu không có nền tảng giải pháp CPU nào trong bước 3, thì hãy đảm bảo chọn hộp kiểm "Tạo nền tảng giải pháp mới". Sau đó bấm OK.

6) Kiểm tra hộp kiểm trong "Xây dựng" cột cho thư viện lớp học của bạn

7) Đóng ra khỏi quản lý cấu hình, và mở các thuộc tính cho thư viện lớp học của bạn

8) Chọn Bất kỳ CPU cho Nền tảng, sau đó chọn Bất kỳ CPU nào cho mục tiêu Nền tảng và lưu.

(Bước 8 có thể hoặc có thể không cần thiết, tùy thuộc vào những gì đã được thực hiện với các cấu hình trước đó.)

+2

Bạn có biết cách làm điều này theo mặc định cho tất cả các chương trình bàn điều khiển mới không? – naasking

+8

Tôi không thể tạo 'AnyCPU' vì tôi gặp lỗi khi cấu hình này đã tồn tại, nhưng tôi không thể chọn nó cho ứng dụng console. –

+0

@Johnny_D bỏ chọn hộp kiểm "Tạo nền tảng giải pháp mới" đã hoạt động cho tôi. –

0

Chỉ cần thêm một cấu hình cho Bất kỳ CPU trong quản lý cấu hình.

  1. Nhấp chuột phải vào giải pháp và chọn Thuộc tính.

  2. Chọn Thuộc tính cấu hình, sau đó nhấp vào Trình quản lý cấu hình.

  3. Thay đổi nền tảng Giải pháp hoạt động thành CPU bất kỳ. Nếu không có nền tảng CPU nào, hãy chuyển đến bước 4.

  4. Nhấp vào mũi tên trong hộp kết hợp bên dưới cột Nền tảng cho thư viện lớp của bạn và chọn Mới.

  5. Đảm bảo CPU bất kỳ được chọn trong Nền tảng mới. Nếu không có nền tảng giải pháp CPU nào trong bước 3, thì hãy đảm bảo chọn hộp kiểm "Tạo nền tảng giải pháp mới". Sau đó bấm OK.

  6. Kiểm tra hộp kiểm trong "Xây dựng" cột cho thư viện lớp học của bạn

  7. Đóng ra khỏi quản lý cấu hình, và mở các thuộc tính cho thư viện lớp học của bạn

  8. Chọn Bất kỳ CPU cho Platform, sau đó chọn Bất kỳ CPU nào cho mục tiêu Nền tảng và lưu.

Bước 8 có thể hoặc không cần thiết, tùy thuộc vào những gì đã được thực hiện với các cấu hình trước đó.