1

I need some assistance with developing custom activities for TFS build. I have followed the steps in blog post Customize Team Build 2010 – Part 7: How is the custom assembly found?.

I have created a custom activity built into a DLL file and used in build template. I want to set it up in the TFS build now, but I have run into some issues. In the blog it suggests that the custom activities DLL file be referenced via the build controller. However, this is an issue for me. I work in a company where there are numerous projects and all use the same build controller. Therefore I don't have the permissions to make the change suggested in configuring the version control path to the custom activity.

Is there are another option open to me? Is there another way I can reference the custom activities? In the build template maybe?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
amateur
  • 43,371
  • 65
  • 192
  • 320
  • Did you just post a blog comment? I've edited it to make sense. – John Saunders Nov 07 '12 at 18:38
  • Surely you want this to be an administrative function. You don't want non-admins to be able to change which assembly the custom activities come from. Especially not for the other builds using the same controller. – John Saunders Nov 07 '12 at 18:46

1 Answers1

1

You need to get that assembly onto the build server (build agent server assuming the activity is only used within the Run On Agent activity).

The most convenient option is to simply check it into the TFS folder that the build controller is pointing to for build assemblies, and the controller will automatically push it out to all build servers.

Alternatively, if you have direct access to the Build Agent Server(s) you can manually install the assembly onto the server into the GAC.

Dylan Smith
  • 22,069
  • 2
  • 47
  • 62
  • "The most convenient option is to simply check it into the TFS folder that the build controller is pointing to for build assemblies, and the controller will automatically push it out to all build servers." - could you explain how this is done please? Note: I dont have access to the build server and not able to configure the build controller/agent. – amateur Nov 07 '12 at 18:48
  • If you right-click on Builds in Team Explorer -> Manage Build Controllers -> Properties you will see what TFS path is used for the "Version Control Path to Custom Assemblies". Any assemblies (e.g. custom activities) checked into this path will automatically be deployed to all build agents. – Dylan Smith Nov 07 '12 at 19:18
  • Thanks for this information, unfortunately I don't have privileges/permission to do this so I am looking for an alternative. Are there any? – amateur Nov 07 '12 at 19:39
  • You either need access to the custom assembly folder, or access to directly install on the build server. Those are your only options for deploying custom assemblies AFAIK. An alternative is to accomplish whatever you are trying to without using custom activities (e.g. msbuild or powershell scripts) – Dylan Smith Nov 07 '12 at 20:35