Author Topic: Why two Application classes are exist in the .NET API?  (Read 2468 times)

0 Members and 1 Guest are viewing this topic.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Why two Application classes are exist in the .NET API?
« on: April 02, 2014, 05:35:23 AM »
Code - C#: [Select]
  1. Autodesk.AutoCAD.ApplicationServices.Application;
  2. Autodesk.AutoCAD.ApplicationServices.Core.Application;
AutoCAD 2014:
Autodesk.AutoCAD.ApplicationServices.Core.Application is the public abstract class.
Autodesk.AutoCAD.ApplicationServices.Application is the public abstract class too and is inherited by the Autodesk.AutoCAD.ApplicationServices.Core.Application.

Object ARX SDK 2013-2015 has nothing info about it (or maybe I've not found it): why two Application classes are exist in the .NET API? Is it somehow related with the accoreconsole.exe?
« Last Edit: April 02, 2014, 05:52:40 AM by Andrey Bushman »

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: Why two Application classes are exist in the .NET API?
« Reply #1 on: April 02, 2014, 06:12:33 AM »
Hi Andrey,
>>> Is it somehow related with the accoreconsole.exe?

Essentially, yes.
The Architecture is now split into 3 dll's.

This diagram from Scott McFarlane's Automated Testing with the AutoCAD.NET API helps to describe the split.


Quote from: Scott McFarlane
It is important to understand that each tier is dependent on the tiers below it, but knows nothing about the tiers above it.
At the lowest tier you have the AcDb functionality, which is concerned with the DWG “database” logic. At this level, you can develop components such as ObjectDBX (object enablers) and those that work with RealDWG.
At the middle tier you have the AcCore functionality, which is concerned with AutoCAD’s core business logic. At this level, you can develop components and applications that work with AcCoreConsole (a command line only version of AutoCAD), and AutoCAD WS.
These two lower tiers together represent the “AutoCAD Core Engine”. This is the common platform upon which components at the top tier, i.e. AutoCAD for Windows, AutoCAD for Mac, AutoCAD WS and AutoCAD Console are developed.
AcCoreConsole
So by now you’re probably asking, “What is AcCoreConsole, and what can it do for me as a developer?” Think of AcCoreConsole as a command-line only version of AutoCAD. It is a console application that has nearly all of the core functionality of AutoCAD, but without the heavy graphical user interface – and it launches in less than 1 second (on my machine, anyway). It is sometimes referred to as a “headless” AutoCAD.
Because of its fast loading time, and the absence of the UI overhead, AcCoreConsole is a perfect tool for running batch operations and scripts. But it also provides the perfect platform for certain types of automated testing.

kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Why two Application classes are exist in the .NET API?
« Reply #2 on: April 02, 2014, 06:41:57 AM »
So, if I will be use the Autodesk.AutoCAD.ApplicationServices.Core.Application, my applications will be work for all platforms (Windows, MacOS), but if I will be use Autodesk.AutoCAD.ApplicationServices.Application, my application can to be dependent by the OS platform.

Thank you.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Why two Application classes are exist in the .NET API?
« Reply #3 on: April 02, 2014, 06:44:28 AM »
Quote
This diagram from Scott McFarlane's Automated Testing with the AutoCAD.NET API helps to describe the split.
Is it the unit testing? If "yes", I will be grateful for information.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: Why two Application classes are exist in the .NET API?
« Reply #5 on: April 02, 2014, 07:56:38 AM »
Quote
This diagram from Scott McFarlane's Automated Testing with the AutoCAD.NET API helps to describe the split.
Is it the unit testing? If "yes", I will be grateful for information.

I can't find the link to that AutoDesk AU course Andrey. I've asked Kean for an update ... may take a couple of days.
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

Andrey Bushman

  • Swamp Rat
  • Posts: 864
Re: Why two Application classes are exist in the .NET API?
« Reply #6 on: April 02, 2014, 07:57:47 AM »
Ok. Thank you.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.