One of the questions which keeps coming up in our meetings is how to ensure that what builds on our build machines can be replicated in the developers’ IDE.
One of the goals we are trying to accomplish is to modularize our builds a bit more. We have several products, many of which use many of the same libraries. Each time one of these products builds, all the projects are rebuilt, whether there were changes or not. This is quite handy for the developers, as they can select build in the IDE, and all projects are built. If instead, we use GO to build some of these common modules and then have the product pipelines fetch the artifacts required, rather than rebuilding, the developers cannot replicate this using only the solution files.
How are others handling this? I do not want to give access to the file system itself, although that is an option. There is also some resistance to checking these finished libraries in to source control for download by developers. At this point I think one option is to have a prebuild event in the .sln file which would use the Artifact API to always get the latest artifact, if it is a local build. I am not sure how well this would be welcomed, nor am I sure how the licensing works with respect to the APIs. Given limited licenses this would not be a viable solution for developer workstations.