经历了各种博客之后,我对“多目标”或并排执行的术语颇感困惑。.NET中的多目标处理
有些博客说,并行执行意味着在一个进程中的两个版本的CLRs。其他一些人声称,它与.net 2.0和.net 3.0程序集并排执行。我非常失望,我不确定谁是对的谁是错的。
我也在很多博客中看到过像Scott Hanselman的博客等(这让很多人感到困惑),如果目标框架是4.0,.NET 4.5的任何功能都将不起作用。我可以同意。但我不能同意或理解这样一个事实,即如果我使用4.5构建并在4.0中进行部署,那么4.0中其bug修复为4.5的特性将隐藏起来。在这里,我不理解术语“隐藏”,没有人敢解释它的意思。这意味着运行时错误?这意味着编译时错误?它不能是这个。这意味着不一致的行为?异常?如果是这样的话,我想知道为什么MS在VS中开发这种类型的灵活性。它是否有任何目的?我明白,第一种情况是有意义的,但不理解或同意第二种情况。
我还在Rick/Scott Hanselman的帖子中看到,主要变化意味着包括CLR在内的完整升级。然后,我应该看到3.0作为主要升级,但不是它仍然使用.NET 2.0 CLR。那为什么命名术语是3.0.x.x/3.5.x.x?就像.NET 4.0.30319.x中CLR也是新的一样,所以我同意这一点。我很惊讶谁是对的。无论是这些人或MSDN都违反其原则(如MSDN说格式为Major.Minor.Build.Revision,Hanselman或其他人说,主要意味着CLR升级,虽然它不在.NET 3.0中)
编号:http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx
http://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx
以上两个问题有什么想法?
Tormod,DLL Hell问题解决的含义是什么?并行执行评估?我可以定位一个3.5或3.0或2.0框架程序集。汇编版本是戴尔地狱的解决方案?为什么所有这些术语都不清楚?我很好奇,究竟是什么意思是通过并行执行来实现,无论CLR如你所说,还是在许多博客甚至是MSDN中所说的程序集。 – Learner 2013-03-22 12:00:46
多重定位只意味着编译一个特定的版本。与Tormod并列说实际上意味着运行时可以将多个版本的.NET加载到内存中并一起执行它们(想想:混合使用4.5 dll的2.0 dll) – Robert 2013-04-07 01:21:44