我认为System.Core
使用可能意味着你遇到了一些麻烦(如果只从易怒的角度来看 - IANAL所以不会对任何形式的分配问题作出评论)....
作为例如(我没有具体的证据,只是提出假设)你有System.Core的.NET 3.5版本,并且有一个.NET 2.0程序集使用System.Core中的类,但它有一个摇摆不定的因为它不是系统.Core程序集与.NET 2.0一起提供,可能不会以相同的方式进行......或者相反,3.5 System.Core中的某些内容预计在.NET 3.5中修改的另一个程序集会以某种方式做某些事情或提供某些功能,但.NET 2.0的版本装配不;这听起来像是你可能会投入很多时间进行调试/故障排除/诊断/头部撞击的情况。
这就是说,似乎人们已经得到它的工作here和一些以前的SO问题here和here。在这些链接中也可能会有一些有用的评论来帮助你。还有一些链接,人们似乎被同样的东西激励(使用.NET 2.0上的LINQ)here和here。还有一些使用Mono程序集的实现方式here
这是其中一件事情,如果你只是想将组件套在你想要的(只是我的意见)投入相当多的时间在测试中就不可预测的结果出现,减少您的风险。如你所知,2.0和3.5之间没有单独的运行时间(与2.0 - > 4.0不同),所以使用这个事实你可以得到最新的3.5安装在你的应用程序将部署的每台目标机器上(在WinForms/WPF应用程序的桌面上,或者在服务器上用于基于网络的东西),并且在Visual Studio中开发时只是作为您的.NET版本的版本号为target?这会让事情变得更安全一些,我认为你实际上将一个Framework版本作为开发工作的一部分,而不仅仅是交换一组程序集。
.NET许可证说,.NET框架是许可操作系统的免费补充。 – Alex 2013-03-22 07:37:30
“我的项目从4.0降级到2.0版本的.NET Framework”,所以你回到了时间,我从来没有听说过这个转变为什么 – TalentTuner 2013-03-22 07:38:44
这听起来不像它应该工作。你在只有.NET 2.0的机器上试过应用程序? (未安装3.5或4) – 2013-03-22 07:45:21