Witam.
W aplikacji napisanej w WPF pod frameworkiem 4.0 podniosłem ostatnio Farmeworka docelowego do 4.8.
Wszystko było w porządku dopóki nie wpadłem na dziwny efekt:
W polach tekstowych podbindowanych do zmiennej typu decimal i ustawionym UpdateSourceTrigger na wartość PropertyChanged nie mogłem wpisać przecinka. Po prostu program go nie wstawiał. Poczytałem trochę i znalazłem przyczynę: Framework od wersji 4.5 zwraca od razu zmienioną wartość do kontrolki. Da się to obejść prostym wpisem na starcie aplikacji.
I tu moje pytanie:
Jakich jeszcze niespodzianek mogę się spodziewać po podniesieniu frameworka?
Poczytałem o zmianach pomiędzy wersjami frameworka na stronie Microsoftu i nie znalazłem jakichś znaczących zmian. Ale to tej zmianie nie było tam nawet wzmianki.
Czy ktoś może wykonywał migrację do nowego frameworka aplikacji WPF i może spotkał sią jeszcze z jakimiś zmianami w działaniu?
Z góry dziękuję za podpowiedzi.
Trzeba przeklikać niestety, zwłaszcza jak korzystasz z zewnętrznych kontrolek typu devexpress. Zazwyczaj po prostu działa.
Dlaczego nie podniesiesz od razu do .NET 6? Prawda - będzie prawdopodobnie dużo więcej potrzebnych zmian ale nie widzę sensu migracji 4.0 do 4.8 w 2022 roku
@obscurity: Problemem może być możliwość zainstalowania frameworka na starszych wersjach Windowsa (Nnawet do wersji 7). Nie wiem czy da się zainstalować tego frameworka na tak starych wersjach Windowsa.
Możesz opublikować apke jako self-contained, tzn zadna instalacja frameworka nie bedzie wymagana. I tak, na win7 tez działa: https://docs.microsoft.com/pl-pl/dotnet/core/deploying/
Co miesiąc Microsoft publikuje drobne poprawki do .net Frameworka 4.8, czasami zdarzają się też zmiany w WPF. Informację o tych zmianach można znaleźć wyłącznie na ich blogu.
Pamiętam jak po jednej takiej poprawce, xaml w jednej z kontrolek przestał być poprawnie renderowany i cała aplikacja się zawieszała :D.