2010-10-12 87 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