2010-10-12 84 views
3

我有一個.NET 4.0類庫,它只使用.Net 2.0功能。爲了使這個庫與Mono更加兼容,我正在考慮將Target Framework更改爲2.0而不是4.0 Client Profile。.NET目標框架性能

但問題是:將目標框架更改爲較舊的版本,使庫運行速度較慢(損害性能)。該應用程序的GUI仍然以4.0爲目標,所以運行該應用程序的所有Windows PC將安裝4.0框架。我的2.0庫會被4.0 JIT編譯器(性能應該是相同的)還是舊的2.0 JIT(性能可能會變慢)執行?

回答

1

不,因爲應用程序仍然以框架版本4爲目標(正如你所說「應用程序的GUI仍然以4爲目標」),那麼所有代碼​​將使用V4 jit,因此即使給定框架的dll目標V2。

1

如果你定位舊的框架,那麼代碼將在舊的CLR上執行。因此,性能將會是舊CLR的性能,並且可能會比較慢,但是您需要進行配置以查看是否存在問題。

+1

你錯過了「應用程序的GUI仍將目標4.0」 – 2010-10-12 11:49:26

+0

嗯,這個問題是在CLR一直保持完全相同的從2.0版本開始,就在圖書館已經改變。如果你的目標是.net 1.1,另一方面... – Earlz 2012-09-11 13:43:12