我们知道,AutoCAD2008(也包括2007和2009)的.NET版本为2.0,但其.NET扩展的“目标框架”可以选择.NET Framework 3.5,这是为何呢?
在这篇blog找到了答案
Using .NET Framework 4.0 in various AutoCAD versions
We are currently compiling our extensions with .NET 3.5 (which uses CLR 2.0), and they work fine for AutoCAD 2008-2011.
请看这个对照表
Visual Studio CLR .NET Framework ---------------------------------------------------------------------------------------- Visual Studio .NET (Ranier) 1.0.3705 1.0 Visual Studio 2003 (Everett) 1.1.4322 1.1 Visual Studio 2005 (Whidbey) 2.0.50727 2.0 Visual Studio 2005 with .NET 3.0 Extensions 2.0.50727 2.0, 3.0 Visual Studio 2008 (Orcas) 2.0.50727 2.0 SP1, 3.0 SP1, 3.5 Visual Studio 2008 SP1 2.0.50727 2.0 SP2, 3.0 SP2, 3.5 SP1 Visual Studio 2010 (Hawaii) 4.0.30319 4.0
即使.NET Framework版本不一致,但只要CLR版本一致,程序是兼容的。
以下列举了部分AutoCAD版本的历史、与VS版本的对应关系
ACAD Version history
Version Internal version AutoCAD versions VS/VC versions
DWG 2000 AC1015
AutoCAD 2000, AutoCAD 2000i, AutoCAD 2002 (VC6.0) R15
DWG 2004 AC1018
AutoCAD 2004, AutoCAD 2005, AutoCAD 2006 (VS2002 VC7.0) R16
DWG 2007 AC1021
AutoCAD 2007, AutoCAD 2008, AutoCAD 2009 (VS2005 VC8.0) R17
DWG 2010 AC1024
AutoCAD 2010, AutoCAD 2011, AutoCAD 2012 (VS2008 VC9.0) R18
DWG 2013 AC1027
AutoCAD 2013, AutoCAD 2014 ,AutoCAD 2015? (VS2010 VC10) R19
于是不难看出,AutoCAD2007-2012,的扩展程序均可以基于.NET Framework 3.5开发。
为何AutoCAD2008的.NET扩展可以基于.NET 3.5