I will write some big long diatribe about my painful experiences setting up TFS (literally painful -- I went from only getting headaches once every couple months or so to every night for a week) but here is a quickie.
DO NOT put spaces in the names of your team project, your build definitions, or pretty much anything else. A lot of features you're going to want to put in are reliant on xcopy and xcopy chokes on spaces in the names. (Sometimes you can write the xcopy statement yourselves but othertimes it is done in the back end for you - and you won't be able to manually kludge it with quotes or anything).
And guess what? You can't rename a team project. So after you spent weeks getting it configured only to find that because someone put a space in the name, you can't get your build configured properly, you get to attempt to migrate it again.
I am not happy.
Edited to add -- thanks to a coworker I did find a workaround for my problem, there is a CopyDirectory workflow item that can be used instead of xcopy. I modified the ClickOnce publish template to use the CopyDirectory item instead and was able to get it to work. This was much better than a migration. OK, so I overreacted above. I do occasionally have a tendency to do that ;)
I am not sure that I can smoothly integrate this in every location that I am currently using xcopy - ie. command line post build events for individual projects in the solution, but at least those are not reliant on the team project name itself but on the folder structure (which I had already modified to use spaces).
In happier news - I give a hearty thanks and kudos to Brian Gansemer, who wrote a terrific tutorial on how to integrate ClickOnce with TFS here:
http://blog.dontpaniclabs.com/post/2011/04/29/ClickOnce-Publish-and-Deploy-from-Team-Foundation-Server-2010.aspx
Not only that, he was very quick to help me when I got stuck (even though it turned out to be an xcopy problem and not in any way his fault). I am very appreciative!
If you use this tutorial and you have spaces in your team project name: the fix is to replace the "Copy Published Folder" work item with a "Copy Directory" work item in the DontPanicWithClickOncePublishBuild.xaml template. I think blogger will bomb if I attempt to put the xaml in here, but that thought should get you started (it wasn't difficult to do once Duncan suggested to try that workitem).
ETA again - the template above also defaults the application version to 1.0 --> there are two workitems in the template that say Run MSBuild for project and Run MSBuild to publish. Both of these have a CommandLineArguments property that contains in it the application version where you can change this to whatever you need (in my case, 4.4).
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment