You will now look more closely at what happened when you built and executed the code in the previous lesson.
Provide Feedback: Please provide feedback about this AutoCADTraining or this lesson via email: firstname.lastname@example.org
What does it mean to “build” code?
The code you typed into Visual Basic Express in Lesson 1 was a set of human-readable instructions (source
code) that needed to be converted into code that could be understood
and executed by the computer. The “build” you performed did just that:
it packaged up the resulting executable code into a DLL (Dynamic-Link Library) that can be loaded into AutoCAD.
following screenshot shows the output in DLL form along with the
associated program debug database (which provides additional information
when troubleshooting the DLL) that you built using Visual Basic Express
in Lesson 1. The path to where the DLL gets compiled is specified in
the Visual Basic Express project settings and is set, by default, to the
binRelease or binDebug sub-folder of the Visual Basic Express project
folder (depending if you’re building a Release or Debug version of your
DLL – we’ll talk about that later).
Choosing a Programming Language and Development Tool
as humans use different languages to communicate, you have various
language options available to you when creating an AutoCAD plug-in: for
the purposes of this guide we have chosen Visual Basic .NET, a strong
general-purpose programming language. Visual Basic .NET is particularly
popular with people learning to program, because the language syntax is
more easily readable than many other languages (such as C# or C++).
are a number of tools available for developing Visual Basic .NET code.
They range from open source tools such as SharpDevelop and MonoDevelop
to Microsoft’s flagship, professional development environment, Visual
Studio. This tutorial assumes you’re using Visual Basic Express, a free
version of Visual Studio for building Visual Basic .NET applications.
Visual Basic Express is an Integrated Development Environment (IDE) because it is composed of various tools, menus and toolbars which ease the creation and management of your code.
The project system in Visual Basic Express comprises Solution and Project files as well as Project Items,
the individual files belonging to projects. A solution is a container
for one or more projects. Each project can in turn be considered a
container for project items – such as source files, icons, etc. – most
of which get compiled into the resultant executable file (EXE or DLL).
Visual Basic Express provides a Solution Explorer that organizes and
displays the contents of the loaded solution in a tree-view format:
Visual Basic Express interface also contains a text editor and
interface designer. These are displayed in the main window depending on
the type of file being edited. The text editor is where you will enter
the Visual Basic .NET code for your AutoCAD plug-in. This editor
provides advanced features such as IntelliSense and collapsible code
sections along with the more classic text-editing features such as
bookmarks and the display of line numbers.
is an extremely valuable feature of the Visual Studio family that
greatly improves programmer productivity: it automatically provides
suggestions for the code being written based on the objects available
and the letters that are being typed. You will have already seen IntelliSense at work if you typed in the code in Lesson 1. That is one reason we suggested you didn’t copy and paste.
one of the key features of Visual Basic Express is its ability to build
Visual Basic .NET code into an executable file. During the build
process, the language compiler performs various checks and analyses on
the code. One such check is to ensure the code conforms to the
syntactical rules of the Visual Basic .NET language. The compiler also
performs various other checks, such as whether a variable has been
appropriately defined or not. Detected errors are reported via the Error
List window, typically found at the bottom of the main window. If you
made a mistake typing in the code in lesson 1, you may already have seen
this when you tried to build your plug-in.
Reviewing your use of Visual Basic Express
this section, you will review the steps performed using Visual Basic
Express from the previous lesson. However, we will put them in the
context of what you have just learned about programming in general and
building your code.
the development language used for this guide is Visual Basic .NET, you
are working with Visual Basic Express, and therefore you see Visual Basic under the Installed Templates portion of the New Project dialog. The AutoCAD plug-in template is essentially a Class Library template, but with some additional settings.
the middle section of this dialog, you saw various types of
applications that can be created; you select the template according to
the type of application you wish to create.
e you entered at the bottom of the dialog is used to identify the project within the solution.
you created your AutoCAD plug-in project, the AutoCAD .NET Wizard
Configurator dialog had these selected by default (you can’t unselect
them). There were options to include other API definition files that we
While developing code, it’s a good idea to build
the solution from time to time, to check whether errors have been
introduced in the code. The code does not necessarily have to be
complete or functional when building the solution. This approach can
help avoid potentially lengthy troubleshooting once the code is
complete, and has the side benefit of automatically saving any edited
source files before the build starts.
To build a solution inside Visual Basic Express, select Build Solution from the Debug pull-down menu.
If the build process was successful, you would see a Build Succeeded
status in the bottom left corner of the Visual Basic Express
application frame. If there was an error in your code, Visual Basic
Express will display an error list explaining the errors it has found.
It will also underline the error in your code in blue. Here’s an
example where we deliberately added a mistake to the code you typed in
this lesson you took a brief look at what happens when you build a
project, as well as some background information on Visual Basic .NET and
Visual Basic Express. You reviewed the steps you had taken in the
previous lesson to build your basic AutoCAD plug-in, putting it in the
context of what you have learned about programming.
this guide, you are using Visual Basic Express. This is a free version
of Visual Studio and so it’s a great tool to start learning with.
Microsoft has targeted the Express editions of Visual Studio at
students, hobbyists and other part-time programmers. While it provides
most of the features of Visual Studio Professional, such as
IntelliSense, it does have certain limitations. For instance, it
contains fewer project templates and has limited options for debugging
and troubleshooting your code. If you are serious about plug-in
development beyond this introductory guide – and particularly if you
want to start developing commercial plug-ins – we recommend investing in
one of the more fully-featured members of the Visual Studio product
*There are several ‘professional’ versions of Visual Studio. Visit the Microsoft Visual Studio website for more information.
remainder of this lesson includes quite a bit of technical jargon.
Don’t worry if you don’t completely understand it all when you first
read it. It will make more sense once you’ve become more familiar with
.NET after writing a few of your own plug-ins.
.NET Framework is a software framework that sits on top of the
Microsoft® Windows® operating system* and provides the underlying
platform, libraries and services for all .NET applications. The services
include memory management, garbage collection, common type system,
class libraries, etc.
* Subsets of .NET are also available on
other operating systems, whether via the open source Mono project or via
Microsoft® Silverlight®, but these are not topics for this guide. You
will focus solely on using.NET on Microsoft Windows.
The framework contains two main components:
mentioned above, the CLR improves code robustness by making sure the
executing code conforms to a common type system (CTS). The CTS ensures
that all .NET (or managed) code – irrespective of the language – uses a
similar set of object types and can work together in the same
environment. It is this feature that makes it possible for you to write
applications in the development language of your choice and yet make use
of components/code written by programmers using other .NET languages.
you built your code into an EXE, it was compiled into Common
Intermediate Language (CIL – also known as MSIL) code using the
language-specific compiler. CIL is a CPU-independent set of instruction
that can be executed by the CLR on Windows operating systems. CIL is
typically portable across 32- and 64-bit systems and even – to some
extent – to non-Windows operating systems. The CIL code generated from
your VB source code was then packaged into a .NET assembly. Such an
assembly is a library of CIL code stored in Portable Executable (PE)
format (which contains both the CIL and its associated metadata).
Assemblies can either be process assemblies (EXEs) or library assemblies
During the course of this
guide, you will focus on developing a particular type of AutoCAD
plug-in: a process assembly (EXE) which communicates with AutoCAD.
Because of the overhead associated with developing them, you will not
spend time looking at AutoCAD AddIns, which are usually library
assemblies (DLLs) that get loaded into and executed within the memory
space of AutoCAD. One reason that implementing an EXE to work with
AutoCAD is simpler than developing an AddIn is related to its user
interface: Executables do not need to integrate seamlessly with the
AutoCAD user interface by adding ribbon buttons (for instance).
In the last step of this process, the native code gets executed by the computer’s processor.
If you would like more details on the process of building .NET applications, please refer to the MSDN Library