.NET

Reply
Contributor
civil3d.net
Posts: 16
Registered: ‎07-05-2006
Message 1 of 4 (52 Views)

2006 .net dll appears to run properly on 2006 and 2007

52 Views, 3 Replies
07-10-2006 02:07 PM
it appears .net dll compiled using 2006 will run on 2007.

anyone out there have any experience with running the same dll on different versions of autocad?

thanks in advance
*Norman Yuan
Message 2 of 4 (52 Views)

Re: 2006 .net dll appears to run properly on 2006 and 2007

07-10-2006 04:26 PM in reply to: civil3d.net
According to AutoDesk's document on ObjectARX, the general rule is that
ObjectARX programs compiled for older version of AutoCAD usually work with
later version of AutoCAD (although not 100% garanteed), while programs
developed and compiled on later version will not run on older version of
AutoAD.

Since .NET dll is also ObjectARX program, I'd expect the one developed on
Acad2006 runs on Acad2007. No supprise here. However, if your .NET dll from
Acad2006 does not run on Acad2007, no supprise either, because .NET API on
Acad2006 was so incomplete and limited.

wrote in message news:5232375@discussion.autodesk.com...
it appears .net dll compiled using 2006 will run on 2007.

anyone out there have any experience with running the same dll on different
versions of autocad?

thanks in advance
*Tony Tanzillo
Message 3 of 4 (52 Views)

Re: 2006 .net dll appears to run properly on 2006 and 2007

07-11-2006 04:25 AM in reply to: civil3d.net
"Norman Yuan" wrote

>> According to AutoDesk's document on ObjectARX, the general rule is that
>> ObjectARX programs compiled for older version of AutoCAD usually work with
>> later version of AutoCAD (although not 100% garanteed), while programs
>> developed and compiled on later version will not run on older version of
>> AutoAD.

That's only the case when the releases are binary
compatible, as 2000 through 2002, and 2004 through
2006 are. AutoCAD 2007 is not binary compatible with
earlier releases so no ARX built for previous releases
will work.

.NET DLLs are just windows DLLs and unless they are
dependent on something specific in AutoCAD (such as
acmgd.dll, acdbmgd.dll, and so on), they will load into
any release of AutoCAD that provides a way to do that.
You can also have both .NET 1.1 and .NET 2.0 runtimes
loaded into the same process.

I suspect the OP was able to load the 2006 dll because
it was not referencing a release-dependent assembly,
or he only loaded it, but did not do anything that caused
any of those referenced assemblies to be loaded.

Remember that you can load a .NET assembly, without
loading its referenced assemblies (they are not loaded
until they are actually needed).


--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006/2007
http://www.acadxtabs.com
*Norman Yuan
Message 4 of 4 (52 Views)

Re: 2006 .net dll appears to run properly on 2006 and 2007

07-11-2006 07:35 AM in reply to: civil3d.net
Thanks for your important correction of my statement. That means, every 3 or
4 years, you most likely need to recompile your ObjectARX/.NET API app, if
you want them to run on latest Acad.

"Tony Tanzillo" wrote in message
news:5232759@discussion.autodesk.com...
"Norman Yuan" wrote

>> According to AutoDesk's document on ObjectARX, the general rule is that
>> ObjectARX programs compiled for older version of AutoCAD usually work
>> with
>> later version of AutoCAD (although not 100% garanteed), while programs
>> developed and compiled on later version will not run on older version of
>> AutoAD.

That's only the case when the releases are binary
compatible, as 2000 through 2002, and 2004 through
2006 are. AutoCAD 2007 is not binary compatible with
earlier releases so no ARX built for previous releases
will work.

.NET DLLs are just windows DLLs and unless they are
dependent on something specific in AutoCAD (such as
acmgd.dll, acdbmgd.dll, and so on), they will load into
any release of AutoCAD that provides a way to do that.
You can also have both .NET 1.1 and .NET 2.0 runtimes
loaded into the same process.

I suspect the OP was able to load the 2006 dll because
it was not referencing a release-dependent assembly,
or he only loaded it, but did not do anything that caused
any of those referenced assemblies to be loaded.

Remember that you can load a .NET assembly, without
loading its referenced assemblies (they are not loaded
until they are actually needed).


--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006/2007
http://www.acadxtabs.com
Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.