Tôi đã cài đặt VS2010 và VS2012 trên máy tính của mình và có Khuôn khổ .NET 4.0 mà sau đó tôi đã nâng cấp lên .NET Framework 4.5. Tuy nhiên, tôi vẫn đang phát triển các ứng dụng cần phải làm việc trên .NET Framework 4.0. Dự án nói rằng nó đang nhắm mục tiêu .NET Framework 4 (Client Profile), các assembly thậm chí còn trỏ tới thư mục .NET Framework 4.0 trong Assemblies được tham chiếu. Vấn đề xảy ra khi tôi chuyển ứng dụng này sang máy chỉ có 4.0 nó sẽ không khởi động và phát hiện ra lỗi ngay lập tức là một ngoại lệ do WindowState={Binding WindowState}
mà bạn không thể thực hiện trong 4.0 nhưng bạn có thể ở 4.5. Tôi cần điều này để ném ngoại lệ vào hộp phát triển của tôi, tại sao không? Giả định của tôi là mặc dù những nỗ lực tốt nhất của tôi là nó sử dụng 4,5 dll nếu chúng tồn tại. Làm thế nào tôi có thể làm cho nó thực sự sử dụng 4.0 mà không cần gỡ bỏ cài đặt 4.5?Nhắm mục tiêu Khuôn khổ .NET 4 khi Khung 4.5 được cài đặt
Cập nhật
Để repro này cài đặt .NET Framework 4.5 và tạo ra một mục tiêu .NET Framework 4.0 dự án WPF. Liên kết WindowState với một thuộc tính trong máy ảo hoặc mã phía sau làm cho thuộc tính này có một bộ nhận công khai và riêng. .NET Framework 4.5 xử lý việc này ngay cả khi Mode = TwoWay phải bỏ qua tập hợp .NET Framework 4 không và ném một ngoại lệ: "Một liên kết TwoWay hoặc OneWayToSource không thể làm việc trên thuộc tính chỉ đọc" Trạng thái "của kiểu .. ". Trên hộp với .NET Framework 4.5 hoạt động giống như một nét duyên dáng, hãy thử nó trên một máy tính với chỉ .NET Framework 4.0 và nó thổi lên ... Vì vậy, bất kỳ ý tưởng về làm thế nào để thực sự nhắm mục tiêu 4,0 khi 4.5 được cài đặt?
Báo cáo lỗi cho MS tại đây: https://connect.microsoft.com/VisualStudio/feedback/details/774694/targeting-net-framework-4-0-when-4-5-doesnt-seem-to-work
Nếu bạn đang nhắm mục tiêu .NET 4.0, thì tại sao bạn có mã sử dụng thứ gì đó chỉ hoạt động trong .NET 4.5? –
Giả sử đó là chính xác (tôi nghi ngờ nó), nó không ném một ngoại lệ trên hộp dev của bạn bởi vì bạn không còn có cài đặt .NET 4.0. .NET 4.5 đã thay thế nó. –
@ John: Anh ấy không biết nó chỉ hoạt động trong 4.5. Anh ta muốn ngoại lệ xảy ra ngay cả khi người dùng tình cờ cài đặt .NET 4.5. – Cameron