Κι όμως δεν το βρήκες. Έχεις εγκαταστήσει 4.5.2 στο μηχάνημα σου, το οποίο αντικατέστησε τα binaries του 4.0. Ουσιαστικά, τρέχεις την εφαρμογή σου σε 4.5.2 και χρησιμοποίησες ένα flag του 4.5.2. Αν ο κώδικας τρέξει στο live είναι επειδή και εκεί έχεις 4.5.2.
Το 4.0 δεν έχει υποστήριξη TLS 1.2 Επιπλέον, το .NET 4.0 έχει καταργηθεί. Για να μην κάνεις χακιές, θα πρέπει να αλλάξεις το target framework της εφαρμογής σου σε 4.5.2 τουλάχιστον. Όσον αφορά πιθανές ασυμβατότητες ... ήδη τρέχεις σε 4.5.2
Μία χακιά θα ήταν να εγκαθιστάς το 4.5.2 runtime αλλά να κρατάς 4.0 framework. Οι πελάτες δεν θα χαρούν, και ο κώδικας σου δεν θα μπορεί να εκμεταλλευτεί τις βελτιώσεις λόγω async, καλύτερου garbage collection κλπ.
Και αν κάτι πάει στραβά, είσαι στον αέρα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos