Aug 23, 2011 at 2:54 PM
Edited Aug 23, 2011 at 2:55 PM
thanks that helps.
With my source control managed projects using nuget packages i'm using the following pre-build event to ensure new enlistments, and tfs build machine processing, has an automated way for recreating the $(SolutionDir)packages content.
Based on what you have outlined i'd have to ensure that was run prior to any package update process to ensure that the existing packages were in place.
My related question would be what would this nuget $(SolutionDir)packages population process do in the case where my nuget private read-only feed, or nuget public read-write feed, has the only newer packages published and the older ones deleted. Is
this a scenario that suggests a reason for why you need to keep older packages published until such time as you can feel safe that everyone has updated to the current package version?
echo processing pre build events for sn=$(SolutionName) pn=$(ProjectName) cn=$(ConfigurationName) bt=$(BuildTarget)
echo relevant properties cn=$(computername) pa=$(processor_architecture) ibmb=$(IsBuildMachineBuild)
echo relevant directories sd=$(SolutionDir) pd=$(ProjectDir)
echo relevant directories td=$(TargetDir) od=$(OutDir)
echo relevant directories cd=%cd% msb=$(MSBuildBinPath) pf=%programfiles% wd=%windir%
for /d %%i in ( . ) do ( set TargetWoSpacesDir=%%~si\)
rem if /i "$(IsBuildMachineBuild)" == "true" (
nuget install "$(ProjectDir)packages.config" -o "$(SolutionDir)packages" -s
rem nuget install "$(ProjectDir)packages.config" -o "$(SolutionDir)packages" -s
rem note1 - this requires setting a < tfs project > | builds | < build definition > | process | advanced | msbuild arguments entry "/p:IsBuildMachineBuild=true"
rem note2 - change "$(IsBuildMachineBuild)" == "true" -> "" to debug this post build event processing using localhost ide build