Reputation: 15455
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
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
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
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
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
Reputation: 2005
Mark those projects as Build/Deploy in Configuration Manager
You probably missing that.
Upvotes: 0
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