2011-11-09 37 views
8

Tôi đã hỏi this question yesterday - nó đã được đóng lại là "trùng lặp chính xác" bởi một số người không dành thời gian để đọc các câu hỏi/bình luận một cách cẩn thận! Vì vậy, một lần thử khác - có thể nó sẽ có thời gian để nhận được một số câu trả lời làm việc trước khi bị đóng cửa vì một số lý do vô nghĩa một lần nữa.Làm cách nào để tìm hiểu xem .NET 4.02 có được cài đặt không?

Microsoft gần đây đã phát hành một số "cập nhật" cho .NET Framework. Thật không may, tôi không biết bất kỳ cách nào để tìm ra phiên bản nào được cài đặt. Phiên bản khung vẫn ở trên 4.0.30319.239.

cám ơn đối với một số enlightement ;-)

PS: Thiết supportedRuntime trong app.config để Version 4.0.2 = làm cho các ứng dụng cho tôi biết lúc khởi động mà 4.0.2 không được cài đặt (trong thời gian không - vì vậy có phải là một số nơi có thể tìm thấy phiên bản "thực").

+2

lý do bạn muốn phát hiện ra nó là gì? –

+0

@ HansPassant: Bạn đã bao giờ trải nghiệm rằng ngay cả khi mã hóa với 4.0.0.0.0, bạn sẽ nhận được những thay đổi về hành vi chỉ vì 4.0.2 EXISTS !? Và tại sao nó lại quan trọng Tại sao anh ta muốn biết? Tôi thực sự muốn biết TẠI SAO hệ thống biết rằng "4.0.2" được cài đặt và những gì khái niệm đằng sau này shit bằng cách giới thiệu hàng chục khung 4.0. – springy76

+0

Tại sao mọi người bỏ phiếu này khi bạn hỏi một câu hỏi giống hệt nhau ngày hôm qua và nó đã bị đóng như một bản sao? – slugster

Trả lời

13

Có một cái nhìn tại địa chỉ:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs 

Nếu bạn đã cài đặt 4.0.2 sau đó có tồn tại các nút thêm:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.1 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.1,Profile=Client 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.2 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0.2,Profile=Client 
+0

Giá trị/khóa nào nên ở trong khi cài đặt 4.0.2? – Sascha

+0

@Sascha thấy sửa đổi câu trả lời – springy76

+0

Được rồi, trên máy tính của tôi, nó chỉ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319 \ SKU \ .NETFramework, Version = v4.0 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4 .0.30319 \ SKUs \ .NETFramework, Phiên bản = v4.0, Hồ sơ = Khách hàng – Sascha

1

Điều này không tạo nên sự khác biệt. Bạn không nhắm mục tiêu các số xây dựng cụ thể của khung công tác, bạn nhắm mục tiêu số phát hành, trong trường hợp này là 4.0. Bạn đang làm gì ở nơi bạn cần biết số bản dựng chính xác?

WTF - tại sao sử dụng trình xây dựng?!

Tại sao bạn không? Chi tiết về phiên bản chính xác của khung. Thông thường, bạn không phát hành phần mềm với vòng "đây là phiên bản 1.0.0.0" vì nó có thể gây ra sự cố với phiên bản cập nhật/hotfix, v.v.

Chỉ cần nhắm mục tiêu .NET 4.0 là đủ.

+3

Bạn đã từng nghĩ bất cứ lúc nào một nhà phát triển có thể muốn biết tại sao máy phát triển của mình hoạt động khác với bất kỳ máy nào khác trong công ty? Và điều này chỉ xảy ra vì anh ta đã cài đặt 4.0.2 mà không nhìn thấy được ở đâu cả mà thay đổi hành vi của các chương trình mà rõ ràng là nhắm mục tiêu 4.0.0? – springy76

+1

Câu hỏi này giống như câu hỏi XY cổ điển. Câu hỏi hỏi về vấn đề vexing Y để thực sự cố gắng giải quyết X. Đó là dễ dàng để giải quyết nhưng không ai biết X. Sự kiên trì kiên trì của OP chỉ nói về Y không giúp anh ta có được câu trả lời anh ta cần. Và nhấn mạnh rằng người trả lời cố gắng đoán tại X không có ý nghĩa. –

+1

@HansPassant sẽ rất tuyệt nếu bạn dành nhiều nỗ lực hơn trong việc trả lời câu hỏi bằng cách viết các nhận xét vô dụng với ý kiến ​​cá nhân của bạn mà không ai yêu cầu. – Sascha

1

Hãy cung cấp cho nó một thử:

Nếu bạn biết một hàm/phương pháp đặc biệt bên trong một lớp học mà chỉ được trình bày trong .NET 4,02 nhưng không có trong .NET 4.0, tôi sẽ sử dụng phản ánh để ví dụ get a list of all methods of a class hoặc chữ ký của một phương pháp cụ thể.

Nếu chỉ có thay đổi bên trong (phương pháp/thuộc tính), bạn có thể sử dụng ILSpy để tìm kiếm các thay đổi đó và sau đó sử dụng lại phản ánh để kiểm tra các thay đổi.

Mặt khác, tôi không chắc chắn liệu một số ràng buộc bảo mật có thể cản trở bạn thực hiện phản chiếu hay không.

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