This is a migrated thread and some comments may be shown as answers.

TFS 2010 Build

7 Answers 222 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Michael
Top achievements
Rank 2
Iron
Iron
Iron
Michael asked on 06 Jul 2011, 02:09 PM
I've seen various postings that somewhat discuss the issue of using TFS 2010 to do builds on projects that have Telerik references but nothing that describes specifically what needs to be done so I am seeking clarification. 

I have a VS2010 solution, within it there is a class library project, unit test project, web project and web deployment project.  The web project has a reference to the Telerik Web UI library and while the copy local flag is "true" and the file exists in the local bin directory the physical reference path is a path in my windows profile (Application Data) where hotfix builds are downloaded (via the Telerik VS Extensions).  It should be noted that my bin directory in the web project is not checked into source control.  Local builds obvisouly work fine but TFS builds fail because the Telerik.Web.UI dll cannot be found since it is not there on the build server.  What I am looking for is clarification on exactly what I need to do get the TFS builds to work - I do not have a seperate license for the build server so I don't think installing my license would work without violating licensing agreement.  Also, given that I can dynamically update to the a new hotfix version manually copying over the "updated" dll everytime I get a new version would be a time consuming and manual process.  Can someone please tell me exactly, in step by step detail what is the best approach to getting the TFS builds to work (and with potentical dynamic updates to the referenced Telerik.Web.UI dll version).

7 Answers, 1 is accepted

Sort by
0
Erjan Gavalji
Telerik team
answered on 07 Jul 2011, 11:59 AM
Hi Michael,

The Developer License of RadControls is valid a Per-Developer or a Per-Seat license type. That would mean that as far as there is no other developer involved in developing your main product with RadControls you can safely store the RadControls in the TFS and use them in your builds.

The option I would use (though involving some manual assembly/reference management through Windows Explorer and Visual Studio) is the following:

MySolution
   MySolutionFolder[e.g.RadControls]
       TelerikAssembly1 (physically located in a folder under the solution main folder, e.g. MySolution\RadControlsAssemblies)
       TelerikAssembly2(physically located in a folder under the solution main folder, e.g. MySolution\RadControlsAssemblies)
   MyWebProject
       References
           TelerikAssembly1 (pointing to MySolution\RadControlsAssemblies\TelerikAssembly1); SpecificVersion=false
           TelerikAssembly2 (pointing to MySolution\RadControlsAssemblies\TelerikAssembly2); SpecificVersion=false

This way the Telerik assemblies will be automatically kept under source control.
Further, when you get an update, you would need to use the Source Control Explorer to check these assemblies out, then replace them with their newer versions and check the new versions back in after proving the build is correct.

To build your project with an automated build process all you would need is have the entire solution folder downloaded to the build machine. An MSBuild call should work just fine and should find the references accordingly (the references are kept as relative <HintPath> tags in the csproj/vbproj file).

The other benefit of this approach is that once another developer gets assigned to the project, all you need would be to purchase the license for them, let them Get Latest Version and just start coding.

Let me know if I'm missing something.

Kind regards,
Erjan Gavalji
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
Michael
Top achievements
Rank 2
Iron
Iron
Iron
answered on 11 Jul 2011, 12:39 PM
Thanks for the reply - I will give your suggested work around consideration and let you know if it works or not.
0
Michael
Top achievements
Rank 2
Iron
Iron
Iron
answered on 04 Aug 2011, 02:29 AM
The suggested work-around, while not ideal, does in fact work so that's what we'll have to do for the interim.
0
Rayne
Top achievements
Rank 1
answered on 14 Dec 2011, 11:37 PM
This is how I have my solution set up. And it works great until there is an update for Telerik Reporting. It uses specific versioning and apparently I've updated my project to use a newer version and now my builds in TFS fail.

I've copied the referenced dll from the default folder (C:\program files\etc) to my dll folder in my solution (checking out the old file first, then checking in after replacing it). Then went to each project that needs a reference and changed it to use the reference in my solution folder. Then checked everything back into TFS. Build still fails that it can't find that referenced assembly.

What's the easiest method to keep the Reporting dll in sync with my projects and TFS and any updates that are available? I seem to go through this ordeal every time I need to update Reporting.

All other dlls work wonderfully by just checking them out, replacing and checking back in.
0
Erjan Gavalji
Telerik team
answered on 15 Dec 2011, 08:49 AM
Hi Rayne,

Well, this should work seemlessly. Could it be that you have a Telerik Reporting assembly reference, specified by version only (no HintPath in the csproj/vbproj file), or having the <SpecificVersion> tag set to true?

I think I can help sorting this easily by a GoToMeeting session. To help finding the exact problem faster, you can try setting a virtual machine not having Telerik Reporting installed (e.g. the virtual machine would simulate your TFS Build agent) by having the clean solution sources get from the source control.

Please, start a support ticket so that I can set up the GoToMeeting session. Please, suggest appropriate time for you. We are located in EET (GMT + 2).

Kind regards,
Erjan Gavalji
the Telerik team

If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Rayne
Top achievements
Rank 1
answered on 15 Dec 2011, 11:01 PM
I finally got it working. It turns out I was looking at a build definition that was set up for a different branch than the one I'm working in. I set up a new build definition for my active working branch, and resolved a reference issue in one project and now it's working. Hopefully, all my other issues will resolve when I finish this release and merge my changes back into the main branch.
0
Erjan Gavalji
Telerik team
answered on 19 Dec 2011, 04:28 PM
Hi Rayne,

Hope everything will be fine. Don't hesitate to get back to us if you feel we can help.

Best,
Erjan Gavalji
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
General Discussions
Asked by
Michael
Top achievements
Rank 2
Iron
Iron
Iron
Answers by
Erjan Gavalji
Telerik team
Michael
Top achievements
Rank 2
Iron
Iron
Iron
Rayne
Top achievements
Rank 1
Share this question
or