Согласно документации для переносимых библиотек классов, поддержка 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