.NET

Reply
*Tony Tanzillo
Message 11 of 13 (57 Views)

Re: assembly missmatch

02-08-2006 09:26 PM in reply to: *Laurence Skoropinski
You seem to be making the mistake of confusing
major releases, and service packs.

Please consider using a little common sense, to
understand why 'backward/forward compatibility'
in the context used in the document you posted
a link to, as well as most other contexts, applies
to major releases, BUT NOT service packs.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

wrote in message news:5080629@discussion.autodesk.com...
Tony,

I am saying that most code IS forward compatible. Like I said, I WOULD expect code I written for AutoCAD Pre SP1 to work Post SP1 and possibly beyond (although there are many documented cases in MS Windows where this is not always the case.)

Even AutoCAD acknowledges that backwards compatibility may not work, which is why it (backwards compatibility) is not supported.
See "API and Script Compatibility" here:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=2935303

As far as LISP is concerned, I admit that I have no experience with versioning of it, but I expect that if AutoCAD 2005 LISP defines a function that AutoCAD 2004 LISP doesn't define, my LISP code will not work with AutoCAD 2004.

As far as VBA is concerned, If I program for a newer interface for say IAcadUtility2, which doesn't exist in Acad2004, this code will not even run, erroring out with an unknown type. And have those of you with both 2005 and 2006 installed ever noticed that the newer (2006) type libraries are always used in VBA?

Unfortunately, I can not comment on ARX, that is not my area of expertise. But if I expect a function exported from any exe or dll to exist and it doesn't, this will stop a program from running.

MS COM in general has had many problems with this very scenario (google DLLHELL). A program installs an older dll to the system, which may break a program expecting a newer version of said dll (could even prevent the system from running altogether, BSOD in the worst cases).

.NET is supposed to prevent many of these problems, but AutoCAD is dependant on specific versions of DLLs to run properly, most of which are written in ARX which have their own dependancies.

As an example of where NOT installing a required service pack breaks functionality, see the beginning of this thread.

If Laurence does install SP1 for AutoCAD 2005 on the Client, his code should then run. I am sure he will let us know if this is not the case.

C
Distinguished Contributor
cgay
Posts: 125
Registered: ‎08-02-2005
Message 12 of 13 (57 Views)

Re: assembly missmatch

02-08-2006 10:56 PM in reply to: *Laurence Skoropinski
The issue that Laurence started with:

Code written against the AutoCAD 2005 SDK compiled and ran on his development machine. This was using version 16.1.84.0 of the managed libraries.

He then proceeded to install on the client computer which was AutoCAD 2005 as well, but did NOT have the 16.1.84.0 versions of the managed libraries (Pre SP1 version 16.1.63.0) and this did NOT work.

Next he copied the 16.1.63.0 managed libraries to his development machine and recompilied.Then he redeploys to the client machine and all was well. He could just have easily updated the client to SP1 to resolve his issue.

That's it, problem solved. Foward compatibility works, backwards compatibility doesn't (even in minor releases) as proven.

Perhaps you could cite some examples to the contrary?
*Tony Tanzillo
Message 13 of 13 (57 Views)

Re: assembly missmatch

02-09-2006 06:22 AM in reply to: *Laurence Skoropinski
I really don't need you to recap the reason why
the OP's code would not run on another installation
of AutoCAD 2005. The reason is entirely self-evident.

However, you still seem to be ignoring the point
that it should not happen, and you continue to
ignore the simple fact that there is a difference
between compatiblity between service packs, and
major releases.

So, I'm going to say this once more.

No other AutoCAD API suffers from a dependence
on a specific service pack... PERIOD.

Applications built with those APIs will run on any
installation of the major release that is targeted,
regardless of what level of service pack is or is not
installed.

That's it, in plain simple English.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

wrote in message news:5081444@discussion.autodesk.com...
The issue that Laurence started with:

Code written against the AutoCAD 2005 SDK compiled and ran on his development machine. This was using version 16.1.84.0 of the managed libraries.

He then proceeded to install on the client computer which was AutoCAD 2005 as well, but did NOT have the 16.1.84.0 versions of the managed libraries (Pre SP1 version 16.1.63.0) and this did NOT work.

Next he copied the 16.1.63.0 managed libraries to his development machine and recompilied.Then he redeploys to the client machine and all was well. He could just have easily updated the client to SP1 to resolve his issue.

That's it, problem solved. Foward compatibility works, backwards compatibility doesn't (even in minor releases) as proven.

Perhaps you could cite some examples to the contrary?
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.