I've got a little MSBuild file I'm working up that will execute from my build process template after a successful build. The idea is to take the output of the build (binaries) from the drop folder, then check them into TFS (shared binaries, of course).
I can check out and check in just fine. What I'm having trouble with is TfsSource TaskAction="Add." The parameters for this just evade me. It seems to me that if I check out the binaries from the folder in TFS, then add the files from the drop folder, then check them in, that would do what I need. Like this:
<MSBuild.ExtensionPack.VisualStudio.TfsSource TaskAction="Checkout" ItemPath="$(BinaryPath)" Version="2010" WorkingDirectory="$(SolutionRoot)" /> <MSBuild.ExtensionPack.VisualStudio.TfsSource TaskAction="Add" ItemCol="@(FilesToAdd)" WorkingDirectory="$(SolutionRoot)\Binaries" Version="2010" /> <MSBuild.ExtensionPack.VisualStudio.TfsSource TaskAction="Checkin" ItemPath="$(BinaryPath)" Version="2010" WorkingDirectory="$(SolutionRoot)" ContinueOnError="true" Comments="Auto-checkin" OverrideText="JR" />
I just get "Exit Code 100. Nothing Succeeded: Unable to determine the workspace. You may be able to correct this by running 'tf workspaces /collection:TeamProjectCollectionUrl'." on the Add action.
$(BinaryPath) is passed in from the build definition to the build template.
$(SolutionRoot) is the build server's working folder for the build
$(FilesToAdd) is the ItemGroup of all the files from the drop folder
I suspect I don't understand the Add function properly. Can anyone help?
Jim Roth