Tôi hiểu rằng chúng tôi có thể biên dịch một Ứng dụng .NET bằng cách nhắm mục tiêu AnyCPU, điều này sẽ gây ra chạy 32 bit trong hệ điều hành 32 bit và 64 bit trong hệ điều hành 64 bit.Chạy ứng dụng .NET 32 bit trong hệ điều hành 64bit, có thực sự xấu không?
Tuy nhiên, đã xảy ra lỗi được báo cáo * trên hệ điều hành 64 bit mà ứng dụng của tôi đã đưa ra lỗi và giải pháp cho điều đó, tôi cần nhắm mục tiêu x86.
Bây giờ câu hỏi của tôi: Có thực sự xấu khi nhắm mục tiêu x86 mặc dù khi mã của bạn sắp chạy trong x64 không? Chúng ta đang nói về loại hiệu suất nào? (ứng dụng của tôi là khá nhiều CPU nhưng nó thực sự khó khăn để đưa ra)
Sau khi tất cả các.NET Framework sẽ chạy trong 32bit mà âm thanh xấu cho tôi thay vì lấy sức mạnh địa chỉ đầy đủ của CPU x64 **.
* Tôi không thể nhớ lỗi nhưng giải pháp nhắm mục tiêu cụ thể đến x86 và giải quyết được sự cố.
** Tôi không chắc liệu điều đó có quan trọng hay không nhưng ứng dụng của tôi không sử dụng bất kỳ biến Int64 nào.
Bạn có thể chạy COM 32 bit từ quy trình 64 bit giả sử bạn chạy nó ra khỏi quá trình. Xem http://stackoverflow.com/questions/611651/64-bit-c-with-a-32-bit-vb6-com-object – Zach
Trong trường hợp của tôi, đó là khuôn khổ xử lý interop, sâu trong ruột WIC. Đã xem xét việc viết một proxy proc, nhưng nó ít phức tạp hơn nhiều khi chỉ nhắm mục tiêu x86 ... –