Câu hỏi này không liên quan nhiều đến lập trình vì nó liên quan đến triển khai.
Tôi thấy mình đã trò chuyện rất nhiều với nhóm trong công ty của tôi, những người có công việc là duy trì các máy chủ Windows sản xuất và triển khai mã của chúng tôi trên chúng. Vì lý do pháp lý và tuân thủ, tôi không có khả năng hiển thị trực tiếp hoặc bất kỳ quyền kiểm soát nào đối với các máy chủ nên cách duy nhất tôi có thể biết (các) phiên bản .NET nào được cài đặt trên bất kỳ phiên bản nào trong số chúng là thông qua các hướng dẫn mà tôi đưa ra cho nhóm đó.
Cho đến nay, tất cả các phương pháp tôi có thể nghĩ ra để biết (các) phiên bản nào đã được cài đặt (kiểm tra xem Công cụ quản trị có khớp với 1.1 hoặc 2.0 hay không, kiểm tra các mục nhập trong danh sách "Thêm / Xóa chương trình", kiểm tra sự tồn tại của thư mục trong c: \ Windows \ Microsoft.NET) bị thiếu sót (tôi đã thấy ít nhất một máy có 2.0 nhưng không có mục nhập 2.0 nào trong Công cụ quản trị - và phương pháp đó không cho bạn biết gì về 3.0+, danh sách "Thêm / Xóa chương trình" có thể không đồng bộ với thực tế và sự tồn tại của các thư mục không nhất thiết có ý nghĩa).
Vì tôi thường cần biết trước những điều này (phát hiện ra rằng "rất tiếc, cái này không có tất cả các phiên bản và gói dịch vụ bạn cần" không thực sự hoạt động tốt với các cửa sổ bảo trì ngắn) và tôi phải thực hiện kiểm tra "bằng proxy" vì tôi không thể truy cập trực tiếp vào máy chủ, cách dễ hiểu để biết (các) phiên bản .NET nào được cài đặt trên Windows Server sản xuất? Tốt hơn là một số cách nội tại để làm như vậy bằng cách sử dụng những gì mà khung công tác cài đặt vì nó sẽ nhanh hơn và không cần một số loại tiện ích được tải và cũng là một phương pháp chắc chắn sẽ thất bại nếu các khung công tác không được cài đặt đúng cách nhưng vẫn có tệp tại chỗ (tức là , có một thư mục và gacutil.exe được tạo ở đó nhưng phiên bản khung đó chưa thực sự được "cài đặt")
CHỈNH SỬA: Trong trường hợp không có một cách nội tại tốt để thực hiện điều này được tích hợp trong (các) Framework, có ai biết về một chương trình tốt, nhẹ, không cần cài đặt có thể tìm ra điều này không? Tôi có thể tưởng tượng ai đó có thể dễ dàng viết một cái nhưng nếu một cái đã tồn tại, điều đó sẽ còn tốt hơn.