Today I tried rebuilding my AutoCAD 2013 plugin from Net Framework 4.5 to Net Framework 4.8 and it loaded and worked without problems. I'm more than sure this was not possible to do before.
Why did this work? What could be the implications of this? Maybe it depends on the version of Windows somehow?
Solved! Go to Solution.
Solved by norman.yuan. Go to Solution.
There should not be any implications, because .NET framework is very well backward compatible, meaning, application/code built against older version of .NET framework would mostly work on a computer with newer .NET framework installed. I say "mostly", just means that you still need do your test as deep as you can, there is no 100% guarantees. Still using Acad2013? ouch!
Norman Yuan
@norman.yuan wrote:Still using Acad2013? ouch!
I don't use Acad2013, I write plugins for it. And yes - I still have users on versions 2013-2018
@_gile wrote:Hi,
Every .NET plugin I've published on the App Store uses the same DLL built with AutoCAD 2013 and .NET Framework 4.0 and works with AutoCAD 2024.
It is obvious that plugins written in Net4.0 will work in all young versions of Autocad. But problems arise when there is a need to use third-party libraries written in later versions of Net Framework
@ModPlus wrote:
It is obvious that plugins written in Net4.0 will work in all young versions of Autocad. But problems arise when there is a need to use third-party libraries written in later versions of Net Framework
As far as I know, and as @norman.yuan said, "each new version of .NET Framework adds new features but retains features from previous versions" (see this topic).
Hi,
>> I will transfer all plugins to Net48 and hope I won't run into any problems
The risk you have for such old AutoCAD's like you mentioned version 2013 ... you may have systems that don't have .NET Framework 4.8 installed (because these old AutoCAD versions don't need them, so OS maybe old too), then your plugin will fail.
- alfred -
@Alfred.NESWADBA wrote:Hi,
>> I will transfer all plugins to Net48 and hope I won't run into any problems
The risk you have for such old AutoCAD's like you mentioned version 2013 ... you may have systems that don't have .NET Framework 4.8 installed (because these old AutoCAD versions don't need them, so OS maybe old too), then your plugin will fail.
- alfred -
If among thousands of users there are a few dozen who do not switch to the latest versions of operating systems and software, it is no reason not to evolve your product. IMHO
@ModPlus wrote:
If among thousands of users there are a few dozen who do not switch to the latest versions of operating systems and software, it is no reason not to evolve your product. IMHO
If so, you can have both a 'vintage' version (for AutoCAD 2013 to 2024 targeting .NET Framework 4.0) and an 'up-to-date' one (for AutoCAD 2021 to 2024 targeting .NET Framework 4.8).
In either case, you'll soon need to upgrade by creating a new (non-compatible) version for AutoCAD 2025 targeting .NET (Core) 8.0 (see this topic).
There are ways to ensure that required versions of the framework are installed when using an installer app. If they're not installed, they get downloaded and installed as part of the install process, so it shouldn't be too much of a concern, as long as there is some kind of check during installation.
The larger issue with supporting very old AutoCAD releases, is that some of them were released before the AutoCAD .NET API lapsed into 'maintenance mode', which means there are significant, breaking API changes that must be accounted for. There have been quite a few breaking changes over the years, that have caused a lot of headaches for myself and other developers. Examples are releases of AutoCAD that predate the separation of the API (e.g., AcCoreMgd.dll, which was often referred to as the big split), and the transition away from the fiber threading model.
Autodesk could have resolved some of those issues internally and avoided breaking changes, but unfortunately they chose a different path.
So I'm not sure what the fuss over framework versions is about, considering all of the other headaches that come with supporting very old product releases in a single unified codebase.
@Alfred.NESWADBA wrote:Hi,
>> I will transfer all plugins to Net48 and hope I won't run into any problems
The risk you have for such old AutoCAD's like you mentioned version 2013 ... you may have systems that don't have .NET Framework 4.8 installed (because these old AutoCAD versions don't need them, so OS maybe old too), then your plugin will fail.
- alfred -
See my other reply. There's much more to portability than merely the framework version, which is a minor detail compared to breaking changes in the API across all supported releases.
Can't find what you're looking for? Ask the community or share your knowledge.