經歷了各種博客之後,我對「多目標」或並排執行的術語頗感困惑。.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