Since AutoCAD adopted the .NET technology, it has been always a wonder which Visual Studio should be used and at which .NET Framework Runtime should be targeted inside its IDE for a particular AutoCAD version. In this article, we are going to address it.
Things are clear if a table is presented like this:
AutoCAD external AutoCAD internal .NET Framework Runtime Visual Studio
2005 16.1 1.0 2002
2006 16.2 1.1 SP1 2003
2007 17.0 2.0 2005/2008/2010/2012
2008 17.1 2.0 2005/2008/2010/2012
2009 17.2 3.0 2008/2010/2012
2010 18.0 3.5 2008/2010/2012
2011 18.1 3.5 2008/2010/2012
2012 18.2 4.0 2010/2012/2013
2013 19.0 4.0 2010/2012/2013
2014 19.1 4.0 2010/2012/2013
2015 20.0 4.5 2012/2013
2016 20.1 4.5 2012/2013/2015
The external version also means the display version on the cover of AutoCAD packages, CDs or something like that. Users generally use this version for discussions, bug reporting or something like that. The internal version is something hiding deep in registry, assembly attributes, or something like that. Developers should know it well enough so as to seek some sensitive information from registry, trouble shoot incompatible problems between different versions, or something like that.
As far as Visual Studio versions are concerned, generally each Visual Studio and its extension supports only one particular runtime version before the version 2008. Since Visual Studio 2008, multiple runtime supporting and targeting are possible. For instance, we can target either .NET Framework Runtime 2.0, 3.0, or 3.5 in .NET projects using Visual Studio 2008 so we can use this single IDE for .NET developments of many AutoCAD versions, 2007, 2008, 2009, 2010, and 2011, which is great convenient for developers.
And Visual Studio 2010 continues this good strategy, besides supporting all the three versions of .NET Framework Runtime that the previous version does, it also supports the newest .NET Framework Runtime version, 4.0, when the IDE was rolled out. Visual Studio 2012 follows the same good trend. So does Visual Studio 2013. Visual Studio 2012 and 2013 supports .NET Framework Runtime version 4.5 along with 4.0, 3.5, 3.0 and 2.0.
The leading edge AutoCAD .NET Addin Wizard (AcadNetAddinWizard) takes care of these automatically in a single installation and user interface!
I thought the following was interesting from http://adndevblog.typepad.com/autocad/2012/07/using-net-framework-40-in-various-autocad-versions.html
"The load behavior of the .NET Framework (i.e. which framework version is loaded) is governed by the .NET Runtime Execution Engine (mscoree.dll) – it’s not AutoCAD specific – so please review Microsoft’s documentation to understand the details of .NET Framework Runtime load behaviors. However, in a nutshell:
Prior to Framework 4, mscoree would load the newest .NET Framework installed on the machine, unless an executable requested a specific (older) framework version. You can do that for AutoCAD by editing acad.exe.config. "
It would suggest that .NET 3.5 is fine for any version of AutoCAD that expects the 2.0 runtime since v3.5 uses the 2.0 runtime. The only problem is if the end-user has edited their acad.exe.config file.
cheers
CAD bloke
Posted by: CAD bloke | 02/16/2013 at 08:56 PM
Ewen, thanks alot for the info. In fact, it has been taken care of by the AcadNetAddinWizard. Another post has also addressed the matter:
http://spiderinnet1.typepad.com/blog/2011/12/revisit-on-versions-of-autocad-net-framework-and-clr-common-language-runtime.html
Posted by: Spiderinnet1 | 02/17/2013 at 02:01 AM