473,406 Members | 2,954 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,406 software developers and data experts.

How to set build order?

I have an EXE project with four project dependencies (DLLs). I need to
set the order of these builds. However they are automatically ordered
by alpha. There aren't any settings to change this. Is the build
order actually done by alpha?

Thanks,
Brett

Mar 9 '06 #1
9 5740
Brett,

No, it isn't. If you are building from VS.NET, then the build order
will occur in the order of the dependencies, going from the most depended
upon, to the least.

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

"Brett Romero" <ac*****@cygen.com> wrote in message
news:11*********************@i40g2000cwc.googlegro ups.com...
I have an EXE project with four project dependencies (DLLs). I need to
set the order of these builds. However they are automatically ordered
by alpha. There aren't any settings to change this. Is the build
order actually done by alpha?

Thanks,
Brett

Mar 9 '06 #2
I see. I was hoping that referencing by project would alleviate update
issues. Meaning, when I build one of the DLLs, I don't see those
changes come through in the EXE code. Of course, this occurs randomly.
For example, in A.DLL, I changed a method from void to int. However,
the EXE still sees a void. When I say go to definition in the EXE,
sure enough, that method has a void.

This type of thing has always been an issue no matter what I try. I'm
guessing there just isn't any way to get an accurate update without
wiping out all DLLs and PDB files in the dependencies and EXE projects.
But what a hassle.

Using CopyLocal = false (have tried true) and VS 2k5.

What exactly does the "Clean feature" in VS 2k5 do? I don't notice any
affect either way.

Thanks,
Brett

Mar 9 '06 #3
Brett Romero <ac*****@cygen.com> wrote:
I have an EXE project with four project dependencies (DLLs). I need to
set the order of these builds. However they are automatically ordered
by alpha. There aren't any settings to change this. Is the build
order actually done by alpha?


Right click on a project and select "project dependencies" or "project
build order".
--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Mar 9 '06 #4
I have but that doesn't let you change the build order. The order VS
has chosen isn't correct. I manually build my solution in the order I
know it will build. Everything works fine. If I let VS build
everything, I get line after line of failures.

Brett

Mar 9 '06 #5
Brett Romero <ac*****@cygen.com> wrote:
I have but that doesn't let you change the build order. The order VS
has chosen isn't correct. I manually build my solution in the order I
know it will build. Everything works fine. If I let VS build
everything, I get line after line of failures.


Could you tell us what projects you've got, what dependencies you've
got, what build order VS thinks it should use, and why that's wrong?

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Mar 9 '06 #6
I have this and VS orders it this way:
Utilties.DLL (no dependencies)
UI.DLL (AppLib, Utilities)
AppLib.DLL (Utilities)
App.EXE (AppLib, Utilities, UI)

In parantheses are the dependencies for that project. In the above
build, UI starts throwing errors that the AppLib namespace does not
exists.

I manually build this way:
Utilties.DLL
AppLib.DLL
UI.DLL
App.EXE

Which works fine. Each of the above is a project.

Thanks,
Brett

Mar 10 '06 #7
That is interesting. I've created a solution, based on your specifications
and have no problems with the build order. VS2003 set the build order
correctly and have no problems when i make changes. I have a screen shot at:

http://i51.photobucket.com/albums/f3...dOrderTest.jpg

If you right click on your solution, you should have an option called
"Project Build Order ...". However, this will only appear if you have more
than one project in your solution.

"Brett Romero" wrote:
I have this and VS orders it this way:
Utilties.DLL (no dependencies)
UI.DLL (AppLib, Utilities)
AppLib.DLL (Utilities)
App.EXE (AppLib, Utilities, UI)

In parantheses are the dependencies for that project. In the above
build, UI starts throwing errors that the AppLib namespace does not
exists.

I manually build this way:
Utilties.DLL
AppLib.DLL
UI.DLL
App.EXE

Which works fine. Each of the above is a project.

Thanks,
Brett

Mar 10 '06 #8
Actually, the solution has nine projects. I group everything under one
solution so I don't have to open multiple IDEs. I set the solution to
build nothing since I use it only as a container. At the EXE project
level, it shows its dependencies and build order as read only. My
setup is probably more complicated since there are other projects
involved. There are more dependencies but the four I've listed are at
the top of the build order. I'm not even building the other projects
since they have not changed.

I'd like to control the build order by modifying a project file or
something but I'm unsure what to modify. I assume Nant would be a
good option here give me more control over the build process. I'm
slowly learning it.

Brett

Mar 10 '06 #9
Brett, seems like something screwy is going on. Try this:

1. Create an empty solution.

2. Add all of your project (whether you want to build them or not) to your
solution.

3. Make sure you add your references by project. (using the "Project Tab")
for each of your projects.

4. Do an initial full build to build all of your DLLs.

5. Right click your solution and to go "Configuration Manager". Uncheck
the "Build" checkbox for each project you do not want to build again. This
is assuming that the code in these projects will not change.

6. By this time, Visual Studio should know the build order and
dependencies. Everytime you do another build, only the projects you
specified in step 5 should be built in the correct order. VS.NET uses the
project dependencies to determine the correct build order.

"Brett Romero" wrote:
Actually, the solution has nine projects. I group everything under one
solution so I don't have to open multiple IDEs. I set the solution to
build nothing since I use it only as a container. At the EXE project
level, it shows its dependencies and build order as read only. My
setup is probably more complicated since there are other projects
involved. There are more dependencies but the four I've listed are at
the top of the build order. I'm not even building the other projects
since they have not changed.

I'd like to control the build order by modifying a project file or
something but I'm unsure what to modify. I assume Nant would be a
good option here give me more control over the build process. I'm
slowly learning it.

Brett

Mar 10 '06 #10

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

Similar topics

15
by: cody | last post by:
We have a huge project, the solutuion spans 50 projects growing. Everytime I want to start the project I have to wait nearly over 1 minute for the compiler to complete building. This is...
0
by: valmir cinquini | last post by:
i'm developing a faq session of our website and I'm facing some problems handling xml files and DataSet relations First off all, here's the structure of my xml file: <?xml version="1.0"?>...
2
by: Rudy Ray Moore | last post by:
How can I modify the project build order of a multi-project workspace under "Visual Studio .net 2003 7.1 c++"? I tried to modify the .sln by hand to influence the build order, but it didn't seem...
6
by: Willie wjb | last post by:
Hi, i have a solution with 4 projects sdk, control1, control2 and controls the sdk is the base control1 uses the sdk control2 uses the sdk controls uses the sdk,control1 and control2
4
by: Dennis | last post by:
I have three projects in my Solution. How do I designate which gets built first when selecting the Build Solution. -- Dennis in Houston
4
by: Nick | last post by:
Hi there, I have a solution which consists of 2 class libraries and 2 executables which both consume these class libraries. I've set the correct dependencies in order for the VS to...
2
by: keepyourstupidspam | last post by:
Hi, I have a strange build problem. I am building an exe, this exe links to a number of static libraries maybe 20 in all and all are built from my code. I am using the gmake build system...
1
by: Matt Fielder | last post by:
I need to customize the build process beyond just selecting which projects get built in what order. What I want to happen is when I select "Release" 1: Pop a dialog confirming I want to build...
2
by: Nick | last post by:
So, this link: http://msdn2.microsoft.com/en-us/library/54dwfbb7.aspx says, "The build order is inferred from the top-down order of the codeSubDirectories collection. The App_Code directory is...
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: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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
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
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.