Переносимые библиотеки классов и поддержка MVVM в .Net Framework 4

Согласно документации для переносимых библиотек классов, поддержка ViewModel в переносимых библиотеках классов не существует для .NET Framework 4, но существует в .NET Framework 4.5. К сожалению, это делает внедрение переносимых библиотек классов сложной задачей, поскольку около половины наших клиентов все еще используют XP и, следовательно, не могут выполнить обновление до версии 4.5.

Интересно, что необходимые классы (как описано в http://msdn.microsoft.com/en-us/library/gg597391(v=vs.100).aspx#sectionToggle3 и http://msdn.microsoft.com/en-us/library/gg597391.aspx#mvvm ) существуют в .NET Framework 4. Из насколько я понимаю, должна быть возможность отправить System.Windows.dll, которая перенаправляет типы в соответствующие библиотеки .NET Framework 4, если я откажусь от INotifyDataError (и сопутствующих DataErrorsChangedEventArgs).

Можно ли просто взять System.Windows.dll, поставляемую с .NET Framework 4.5, удалить ссылки на INotifyDataError и DataErrorsChangedEventArgs, при необходимости перенаправить ссылки на System.dll в PresentationCore.dll, а затем сослаться на эту переназначаемую систему? .Windows.dll из проекта, предназначенного для работы на .NET Framework 4? Или я столкнусь со сложными для отладки проблемами теневого копирования, если случайно проект будет запущен на .NET Framework 4.5?

Я надеялся, что это может быть так же выполнимо, как, например. http://nuget.org/packages/Microsoft.Bcl


person Arthur van Leeuwen    schedule 17.12.2012    source источник
comment
Этот вопрос (и предлагаемое решение) аналогичен ответу на stackoverflow.com/questions/14181422/ поэтому я связываю это здесь также.   -  person Arthur van Leeuwen    schedule 11.01.2013


Ответы (1)


Заметили ли вы, что если вы устанавливаете обновление среды выполнения .NET 4.0.3 на целевом компьютере (и, в частности, 4.0.3 в своем PCL), вы можете использовать свою переносимую библиотеку с дополнительными функциями на платформе .NET4 (т.е. 4.0.3). ? Надеюсь это поможет.

person Vagif Abilov    schedule 07.01.2013
comment
Да, я заметил. К сожалению, требуемые классы не входят в число этих функций. Подход Microsoft.Bcl по-прежнему выглядит наиболее многообещающим. - person Arthur van Leeuwen; 11.01.2013