Rod
Rod

Reputation: 15455

Recompile all dependencies

I have a simple project that is used in lots of other solutions. Whenever I update this project I have to remember to go into the other solutions that use this project and recompile and deploy as well.

Is there a way to automate this?

Upvotes: 2

Views: 221

Answers (6)

sclarson
sclarson

Reputation: 4422

If you use any sort of continuous integration tool like TeamCity, Jenkins, or Cruise Control, you could have your commits automatically cause the other solutions to be built.

I'm always uneasy about any solution that doesn't require a recompile when an API you depend on changes. Updating something that acts as a module without rebuilding makes sense, but if something you depend on changes you really want to make sure that doesn't break things elsewhere.

Using a CI server will allow you to run any sort of testing you want on each individual solution and notify you of a failure on one of them. You can also add steps for things like packaging a deployment or if you really enjoy playing with fire you could have the CI server do the deploy automagically.

Edit: Typically this is all done on an integration server, but there is no reason you couldn't set it up on your local machine.

Upvotes: 4

Tipx
Tipx

Reputation: 7505

Beside having a build server setup, that would launch the build/publication of the other projects, I don't think so. If you want to check out a continuous build program, we've used "CruiseControl" (http://cruisecontrol.sourceforge.net/) where I use to work, and it was a nice setup with a lot of customized possibilities.

Upvotes: 0

Eugenio De Hoyos
Eugenio De Hoyos

Reputation: 1775

Is the reused project a class library? If so, what I usually do is add a reference to the dll in the output bin of the class library. Whenever I recompile the dll, the other projects almost immediately detect it (specially Intellisense.)

This doesn't work for dependent projects that are already deployed, though.

Upvotes: 0

Cyberherbalist
Cyberherbalist

Reputation: 12319

That sounds very scary, actually. You make a change to a single project, and then, without regression testing all its dependent projects are automatically recompiled with the new version and deployed?

If you manage to find a way to do this, I predict great turmoil and calamity.

Upvotes: 0

Paweł Smejda
Paweł Smejda

Reputation: 2005

Mark those projects as Build/Deploy in Configuration Manager
You probably missing that.

Upvotes: 0

Tristan
Tristan

Reputation: 425

If you're using any form of continuous integration e.g. cruise control, teamcity, TFS etc then you can easily set up your CI to rebuild you're dependent soutions.

Another less elegant solution may be to either have a .sln file that contains all of your projects and work in that solution.

Alternatively, you could add a post build event that build the dependent solutions when you make a change.

Upvotes: 0

Related Questions