473,412 Members | 1,944 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,412 software developers and data experts.

Compile as exe and dll?

Hello all,

I have a fairly complex solution that I will need to deploy as both a dll
and exe depending on the type of installation. Is there a way to automate
the build process so that a particular project in my solution can be built
as a dll and an exe.

Thanks in advance
Andrew
Nov 16 '05 #1
5 1749
Andrew,

No, I don't believe there is. However, in .NET 2.0, you will be able to
add references to executables (EXEs) as well as class libraries (DLLs). I
don't believe that this is a good thing though., as it corrupts design
greatly.

Rather, keep your logic in a DLL and then create a shell executable
which references the DLL for the functionality you require.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"news.microsoft.com" <no****@nospam.com> wrote in message
news:O1**************@TK2MSFTNGP12.phx.gbl...
Hello all,

I have a fairly complex solution that I will need to deploy as both a dll
and exe depending on the type of installation. Is there a way to automate
the build process so that a particular project in my solution can be built
as a dll and an exe.

Thanks in advance
Andrew

Nov 16 '05 #2
Nicholas,

Thanks for the quick response. I hadn't though of creating a shell
executable.
I also agree that it really doesn't make sense to to add references to
executables.

Andrew

"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.com> wrote in
message news:er**************@TK2MSFTNGP09.phx.gbl...
Andrew,

No, I don't believe there is. However, in .NET 2.0, you will be able to add references to executables (EXEs) as well as class libraries (DLLs). I
don't believe that this is a good thing though., as it corrupts design
greatly.

Rather, keep your logic in a DLL and then create a shell executable
which references the DLL for the functionality you require.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"news.microsoft.com" <no****@nospam.com> wrote in message
news:O1**************@TK2MSFTNGP12.phx.gbl...
Hello all,

I have a fairly complex solution that I will need to deploy as both a dll and exe depending on the type of installation. Is there a way to automate the build process so that a particular project in my solution can be built as a dll and an exe.

Thanks in advance
Andrew


Nov 16 '05 #3
news.microsoft.com <no****@nospam.com> wrote:

<snip>
I also agree that it really doesn't make sense to to add references to
executables.


I'm not sure that it doesn't, actually. Plug-in architectures spring to
mind: if I have a program with a plug-in interface, it makes sense to
me to have that interface in the executable, and compile the plug-ins
against the executable. Currently, using VS.NET, you have to have a
library which is probably only likely to be used for the interface.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #4
It is mainly the preserve of VB6, where it is done as 'ActiveX EXE'
projects, the thinking behind them being that you can isolate automation
compatible code into a separate process, so if it crashes, it doesn't bring
down the whole application. It is also the only way VB6 can implement
multithreading, so is often used by some people for that.

"news.microsoft.com" <no****@nospam.com> wrote in message
news:Oc**************@TK2MSFTNGP15.phx.gbl...
Nicholas,

Thanks for the quick response. I hadn't though of creating a shell
executable.
I also agree that it really doesn't make sense to to add references to
executables.

Andrew

"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.com> wrote
in
message news:er**************@TK2MSFTNGP09.phx.gbl...
Andrew,

No, I don't believe there is. However, in .NET 2.0, you will be able

to
add references to executables (EXEs) as well as class libraries (DLLs).
I
don't believe that this is a good thing though., as it corrupts design
greatly.

Rather, keep your logic in a DLL and then create a shell executable
which references the DLL for the functionality you require.

Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"news.microsoft.com" <no****@nospam.com> wrote in message
news:O1**************@TK2MSFTNGP12.phx.gbl...
> Hello all,
>
> I have a fairly complex solution that I will need to deploy as both a dll > and exe depending on the type of installation. Is there a way to automate > the build process so that a particular project in my solution can be built > as a dll and an exe.
>
> Thanks in advance
> Andrew
>
>



Nov 16 '05 #5
Possibly the best way to handle this is create most of code in a dll. And
also create a exe "wrapper" that will be a thin startup for the same dll.
If you want both console and windows versions of your app, you could create
console app as .com and windows version as .exe. Your console version could
also have a switch arg that starts the windows version by the same name
(with different extention.)

--
William Stacey, MVP

"news.microsoft.com" <no****@nospam.com> wrote in message
news:O1**************@TK2MSFTNGP12.phx.gbl...
Hello all,

I have a fairly complex solution that I will need to deploy as both a dll
and exe depending on the type of installation. Is there a way to automate
the build process so that a particular project in my solution can be built
as a dll and an exe.

Thanks in advance
Andrew


Nov 16 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: janeaustine50 | last post by:
Python's InteractiveInterpreter uses the built-in compile function. According to the ref. manual, it doesn't seem to concern about the encoding of the source string. When I hand in an unicode...
5
by: Carmine Cairo | last post by:
Hi, I'm working on a project and today I've note a little problem during the compile fase. Here a little piece of code: // 1st version welldone = 0; size = p->getSize(); backbone = new...
5
by: Brice Prunier | last post by:
Here under 4 schemas i'm working with ( it may be long: sorry...) The context is the following : Resident.xsd imports Person.xsd and includes Common.xsd ( anonimous schema: no TargetNamespace )...
10
by: Chris LaJoie | last post by:
Our company has been developing a program in C# for some time now, and we haven't had any problems with it, but just last night something cropped up that has me, and everyone else, stumped. I...
6
by: Thomas Connolly | last post by:
I have 2 pages referencing the same codebehind file in my project. Originally the pages referenced separate code behind files. Once I changed the reference to the same file, everything worked...
15
by: steve yee | last post by:
i want to detect if the compile is 32 bits or 64 bits in the source code itself. so different code are compiled respectively. how to do this?
16
by: desktop | last post by:
I have read that using templates makes types know at compile time and using inheritance the types are first decided at runtime. The use of pointers and casts also indicates that the types will...
1
by: brianrpsgt1 | last post by:
Newbie here.... I have been able to successful pull info from a MySQL DB, get the results and output them in an HTML format using Cheetah to the screen using IDLE. I am doing this on a Windows...
3
by: NvrBst | last post by:
Right now I have C99 code in .c extensions. I compile it in VSC++ and it complains about a lot of errors. I change the extensions to .cpp and compile in VSC++ and it succeeds. Is there a way...
6
by: Ed Leafe | last post by:
I've noticed an odd behavior with compile() and code that does not contain a trailing newline: if the last line is a comment inside of any block, a syntax error is thrown, but if the last line is a...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.