【发布时间】:2012-12-17 14:35:09
【问题描述】:
根据可移植类库的文档,可移植类库中的 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 dll,如果我放弃 INotifyDataError(以及随附的 DataErrorsChangedEventArgs)。
是否可以简单地采用 .NET Framework 4.5 附带的 System.Windows.dll,去除对 INotifyDataError 和 DataErrorsChangedEventArgs 的引用,在必要时将对 System.dll 的引用重定向到 PresentationCore.dll,然后引用项目中的可重定向 System.Windows.dll 注定要在 .NET Framework 4 上运行?或者如果项目偶然在 .NET Framework 4.5 上运行,我会遇到难以调试的阴影问题吗?
我希望这可能是可行的,例如http://nuget.org/packages/Microsoft.Bcl
【问题讨论】:
-
这个问题(和建议的解决方案)类似于stackoverflow.com/questions/14181422/… 的答案,所以我也在这里链接。
标签: .net mvvm .net-4.0 portable-class-library