Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Visual Studio.NET / Extensibility / October 2006

Tip: Looking for answers? Try searching our database.

How do you get a list of projects that are going to be compiled?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
DrZogg - 12 Oct 2006 17:12 GMT
I work on a very large VS2005 solution which has over 75 with mixed C++

and C#

VS doesn't give you much information about what it is doing durring a
big compile like this.
So we've created a AddIn to provide information in the status bar with
more detailed build information.

The following is an exmaple of our status bar data
---
Progress - 2 Build Trees - Building Project 2, 5 of 75 - Module Name1 ,

Module Name2
---

Currently my Addin is using
_DTE.Solution.SolutionBuild.BuildDependencies.Count; to get the total
number of project to be compiled.

However this simply returns the total number of projects in a solution.

What I really need is the total projects needed for this build.

For example, if I right click a project and select Build there may be
only 20 dependant projects compiled.

Under this situation my progress bar is in error and I would like to
correct this.

Please let me know if you have any ideas!..

Thanks,

Christopher
BigHammer Software
Carlos J. Quintero [VB MVP] - 13 Oct 2006 08:44 GMT
I have not tested it, but the BuildDependencies has an enumerator and a
Item(index) property to return BuildDependency objects, and each
BuildDependency object has a Project and RequiredProjects properties. So,
given an project, you could know its dependencies.

On the other hand, EnvDTE.BuildEvents should give information about which
Solution/Projects are going to be build.

Signature

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com

>I work on a very large VS2005 solution which has over 75 with mixed C++
>
[quoted text clipped - 32 lines]
> Christopher
> BigHammer Software
DrZogg - 16 Oct 2006 15:59 GMT
Carlos,

As I mentioned, BuildDependencies returns the complete list of
solutions..
How do I find the project this is the primary focus of this build?
that is the real question..

The EnvDTE.BuildEvents tell me the answer after the build is complete.
But that isn't a very nice progress bar... You're supposed to predict
the number
of steps up front, not just announce that you're done.

If there are any more ideas I would love to hear them.

Christopher

> I have not tested it, but the BuildDependencies has an enumerator and a
> Item(index) property to return BuildDependency objects, and each
[quoted text clipped - 50 lines]
> > Christopher
> > BigHammer Software
Carlos J. Quintero [VB MVP] - 17 Oct 2006 08:25 GMT
The EnvDTE.BuildEvents.OnBeginBuild and OnBuildProjConfigBegin should inform
you what is about to be compiled.

Signature

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com

Carlos,

As I mentioned, BuildDependencies returns the complete list of
solutions..
How do I find the project this is the primary focus of this build?
that is the real question..

The EnvDTE.BuildEvents tell me the answer after the build is complete.
But that isn't a very nice progress bar... You're supposed to predict
the number
of steps up front, not just announce that you're done.

If there are any more ideas I would love to hear them.

Christopher
jmatejka@gmail.com - 18 Oct 2006 17:08 GMT
I'm interested in a similar topic.  Carlos, I think you are
misunderstanding.  Knowing that something is about to be compiled the
instant before it is compiled is not useful in this instance.  I (I
belive DrZogg also) want to know what projects will be compiled at the
beginning of the entire build process.

Thanks,
Justin

> The EnvDTE.BuildEvents.OnBeginBuild and OnBuildProjConfigBegin should inform
> you what is about to be compiled.
[quoted text clipped - 24 lines]
>
> Christopher
jmatejka@gmail.com - 18 Oct 2006 22:28 GMT
Maybe there is a combination solution where we can figure out the
dependencies with
IVsBuildDependencies, and which projects are dirty with
IVsBuildStatusCallback.
Then with that information we can walk along the dependency tree and
calculate the total number of projects that need to be built.

Could this work?  Is there some easier way?

- Justin

> I'm interested in a similar topic.  Carlos, I think you are
> misunderstanding.  Knowing that something is about to be compiled the
[quoted text clipped - 33 lines]
> >
> > Christopher

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.