Cách được khuyến nghị để xác định phiên bản thời gian chạy Mono theo chương trình là gì?Lập trình xác định phiên bản thời gian chạy Mono
Chúng tôi đã gặp phải nhiều sự cố khi ứng dụng .Net của chúng tôi được sử dụng với các phiên bản cũ hơn của Mono. Đôi khi chúng ta có thể giải quyết những vấn đề này, nếu chúng ta biết chúng ta đang xử lý phiên bản nào, nhưng đôi khi chúng ta không thể.
Giải pháp cho chúng tôi là phát hiện phiên bản Mono theo chương trình và sau đó chúng tôi có thể áp dụng giải pháp một cách minh bạch. Nếu phiên bản Mono quá cũ, thì chúng tôi sẽ nhắc người dùng nâng cấp.
Chúng ta có thể khám phá ra rằng Mono là thời gian chạy của chúng tôi với một cái gì đó như thế này:
bool isMonoRuntime = Type.GetType("Mono.Runtime") != null;
Làm thế nào chúng ta có thể cũng xác định chắc chắn phiên bản mono mà không cần suy luận nó gián tiếp? Để rõ ràng, chúng tôi cần số phát hành Mono, không phải số phiên bản .Net CLR.
thể trùng lặp của [Làm thế nào để xác định phiên bản mà từ đó thời gian chạy Mono hiện tại được xây dựng và cài đặt?] (Http://stackoverflow.com/questions/ 4178129/cách-để-xác định-sửa đổi-từ-mà-hiện-mono-runtime-được xây dựng-và-inst) – skolima
@skilima Sự khác biệt chính là yêu cầu một cách tiếp cận dựa trên dòng lệnh, và điều này câu hỏi yêu cầu một cách tiếp cận chương trình. có một số trùng lặp trong một câu trả lời, nhưng câu trả lời đó phù hợp hơn với câu hỏi này nhiều hơn thế! – Stewart
Điểm thưởng cho bất kỳ câu trả lời nào không dựa vào sự phản chiếu! (Là một thách thức hoàn toàn về mặt học thuật.) – Stewart