<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Jim Lamb : SDK</title><link>http://blogs.msdn.com/b/jimlamb/archive/tags/SDK/</link><description>Tags: SDK</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.19431 (Build: 5.6.583.19431)</generator><item><title>Extending Team Projects and Team Explorer in TFS 2010</title><link>http://blogs.msdn.com/b/jimlamb/archive/2010/02/26/extend-team-projects-and-team-explorer-in-tfs-2010.aspx</link><pubDate>Fri, 26 Feb 2010 17:49:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9970037</guid><dc:creator>Jim Lamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/b/jimlamb/archive/2010/02/26/extend-team-projects-and-team-explorer-in-tfs-2010.aspx#comments</comments><description>&lt;p&gt;In this post, I’m going to walk you through a &lt;a href="http://code.msdn.microsoft.com/TfsSdk" target="_blank"&gt;TFS SDK&lt;/a&gt; sample that extends Team Projects and Team Explorer in TFS 2010. This solution is implemented as a Visual Studio Industry Partner (VSIP) package and includes a Project Creation Wizard plug-in and a Team Explorer plug-in. To get started, just follow these steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;If you haven’t already, install Visual Studio 2010 SP1. &lt;/li&gt;    &lt;li&gt;Download and install the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=21835" target="_blank"&gt;Visual Studio 2010 SP1 SDK&lt;/a&gt; since you won’t be able to build the sources without it. &lt;/li&gt;    &lt;li&gt;Download an unzip the ExtendingTeamProjects sample from the &lt;a href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=TfsSdk" target="_blank"&gt;TFS SDK on Code Gallery&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Open the solution, right click on the TeamProjectExtensionPackage project and select &lt;strong&gt;Properties&lt;/strong&gt;. Select the &lt;strong&gt;Debug&lt;/strong&gt; tab and, under “Start Action,” select &lt;strong&gt;Start External Program&lt;/strong&gt; and specify the full path to Visual Studio 2010 (%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\DevEnv.exe). Then, under “Start Options” specify the following command line arguments: &lt;strong&gt;/rootsuffix Exp&lt;/strong&gt;. &lt;/li&gt;    &lt;li&gt;Build the solution. &lt;/li&gt;    &lt;li&gt;Start Debugging (F5) the solution – this will start a new instance of Visual Studio. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Project Creation Wizard&lt;/h3&gt;  &lt;p&gt;You see the Project Creation Wizard when you select &lt;u&gt;F&lt;/u&gt;ile, &lt;u&gt;N&lt;/u&gt;ew, &lt;u&gt;T&lt;/u&gt;eam Project… from Visual Studio’s main menu. The wizard lets you specify a name and description for your new team project and then asks you to select a process template. Before you can try the sample out, you’ll need to upload the provided sample process template to your project collection by selecting Tea&lt;u&gt;m&lt;/u&gt;, &lt;u&gt;T&lt;/u&gt;eam Project Collection Settings, P&lt;u&gt;r&lt;/u&gt;ocess Template Manager… and clicking &lt;strong&gt;Upload&lt;/strong&gt; to browse for and upload the process template that’s included with the source code. When you start the sample in the Debugger (F5), it will spawn an experimental instance of Visual Studio with our package already installed and ready to go.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3-ProjectCreationWizard-ProcessTemplate" border="0" alt="3-ProjectCreationWizard-ProcessTemplate" src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ExtendTeamProjectsandTeamExplorerinTFS20_133FA/3-ProjectCreationWizard-ProcessTemplate_3.png" width="592" height="480" /&gt; &lt;/p&gt;  &lt;p&gt;For this sample, we have a custom process template that declares a special group ID that includes a task list from a separate XML file. That XML file includes a set of web links arranged in a folder structure. Those links are passed to our Project Creation Wizard plug-in as the new Team Project is getting created. The plug-in also adds a new page to the wizard that lets the user enter additional web links and, optionally, to add a link to the newly created Team Project in Web Access.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="4-ProjectCreationWizard-LinksPlugin" border="0" alt="4-ProjectCreationWizard-LinksPlugin" src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ExtendTeamProjectsandTeamExplorerinTFS20_133FA/4-ProjectCreationWizard-LinksPlugin_c454a4eb-4ef8-4d86-a130-82336fd7abf2.png" width="592" height="480" /&gt; &lt;/p&gt;  &lt;p&gt;This page derives from the TeamProjectWizardPage class which provides some handy methods to manage the state of the navigation buttons at the bottom of the wizard. The LinksProjectComponentCreator takes the links entered by the user, merges them with the links specified in the process template and stores an XML representation of the data in a property on the Team Project.&lt;/p&gt;  &lt;h3&gt;Team Explorer&lt;/h3&gt;  &lt;p&gt;Once your new Team Project has been created, you’ll see a new folder in Team Explorer called &lt;strong&gt;Links&lt;/strong&gt; that shows the links that were specified in the sample process template as well as the links you entered when you went through the Project Creation Wizard. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TeamExplorer-Links" border="0" alt="TeamExplorer-Links" src="http://blogs.msdn.com/blogfiles/jimlamb/WindowsLiveWriter/ExtendTeamProjectsandTeamExplorerinTFS20_133FA/TeamExplorer-Links_a8603ad3-31a3-4e45-afa6-723db8fffc81.png" width="243" height="384" /&gt; &lt;/p&gt;  &lt;p&gt;If you connect to another Team Project that doesn’t use the sample process template, you’ll notice that the Links folder does not appear. That’s because our Team Explorer plug-in implements the &lt;strong&gt;ITeamExplorerPluginFilter&lt;/strong&gt; interface which lets us specify whether or not our plug-in should appear for a particular team project. The Team Explorer plug-in implements a context menu for the root Links node with a single command. It shows how to handle invocations of that command as well as how to handle activation of the links in the hierarchy it presents.&lt;/p&gt;  &lt;h3&gt;Deployment&lt;/h3&gt;  &lt;p&gt;When you build the solution, you’ll see that it creates a &lt;a href="http://msdn.microsoft.com/en-us/library/ff363239(VS.100).aspx" target="_blank"&gt;VSIX&lt;/a&gt; package which is a ZIP file that follows a particular set of conventions to make it easy to install into Visual Studio. To hand this extension off to a teammate, just give them access to the TeamProjectExtensionPackage.vsix file which you can find in the output directory. When they open that file, they can click &lt;strong&gt;Install&lt;/strong&gt; to install the extension into Visual Studio.&lt;/p&gt;  &lt;p&gt;If you have any questions or comments on this sample, please post below or &lt;a href="http://blogs.msdn.com/jimlamb/contact.aspx" target="_blank"&gt;contact me&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9970037" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/TFS/">TFS</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/SDK/">SDK</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/2010/">2010</category></item><item><title>Create a Custom WF Activity to Sync Version and Build Numbers</title><link>http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx</link><pubDate>Fri, 12 Feb 2010 21:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924655</guid><dc:creator>Jim Lamb</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx#comments</comments><description>Updated for TFS 2010 RTM! 
 One of the common requests we hear is to provide a way of automatically updating the version information in the assemblies produced by a TFS build. Unfortunately, it&amp;rsquo;s one of those features that never gets quite high...(&lt;a href="http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924655" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/Build/">Build</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/TFS/">TFS</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/SDK/">SDK</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/2010/">2010</category></item><item><title>What Everybody Ought to Know about the TFS SDK</title><link>http://blogs.msdn.com/b/jimlamb/archive/2009/10/29/what-everybody-ought-to-know-about-the-tfs-sdk.aspx</link><pubDate>Fri, 30 Oct 2009 03:49:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9915089</guid><dc:creator>Jim Lamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/b/jimlamb/archive/2009/10/29/what-everybody-ought-to-know-about-the-tfs-sdk.aspx#comments</comments><description>&lt;p&gt;If you’ve checked out the latest Visual Studio SDK, you may have noticed something relative to the previous releases:&lt;/p&gt;  &lt;table&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th&gt;SDK Release&lt;/th&gt;        &lt;th align="right"&gt;Download (MB)&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visual Studio 2005&lt;/td&gt;        &lt;td align="right"&gt;124&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visual Studio 2008&lt;/td&gt;        &lt;td align="right"&gt;109&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Visual Studio 2010&lt;/td&gt;        &lt;td align="right"&gt;10&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;So, where’d the other hundred megabytes go? On-line – that’s where. The latest Visual Studio SDK really only contains the core content necessary to build new VSIP packages and other extensibility projects. All of the documentation and samples have been moved to their new home on &lt;a href="http://code.msdn.microsoft.com/vsx"&gt;MSDN Code Gallery&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Of course, that includes the &lt;a href="http://code.msdn.microsoft.com/TfsSdk"&gt;Team Foundation Server 2010 Beta 2 SDK&lt;/a&gt; samples and documentation. It also includes a starter set of code snippets which aren’t full-on samples, but give users programming against our object model quick, narrowly scoped answers to common implementation questions. Lastly, there’s a compiled HTML help (CHM) file that provides some basic documentation on our client object model.&lt;/p&gt;  &lt;h3&gt;What’s the Plan for the SDK?&lt;/h3&gt;  &lt;p&gt;We currently have half of the samples that shipped with TFS 2008 RTM updated for 2010 Beta 2 and published to Code Gallery. Due to some recent API changes, these will require additional updating prior to RTM. The remaining work is as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Finish updating remaining samples and publish to Code Gallery &lt;/li&gt;    &lt;li&gt;Review XML documentation comments in public object model API &lt;/li&gt;    &lt;li&gt;Coordinate with our technical writers to deliver API documentation for MSDN &lt;/li&gt;    &lt;li&gt;Identify, author and publish new samples and snippets as appropriate &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If there are particular samples or snippets that you’d like to see, post a comment or &lt;a href="http://blogs.msdn.com/jimlamb/contact.aspx"&gt;drop me a line&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915089" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/TFS/">TFS</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/SDK/">SDK</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/2010/">2010</category></item><item><title>VSIP Developer Conference</title><link>http://blogs.msdn.com/b/jimlamb/archive/2007/05/15/vsip-developer-conference.aspx</link><pubDate>Tue, 15 May 2007 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2654356</guid><dc:creator>Jim Lamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/b/jimlamb/archive/2007/05/15/vsip-developer-conference.aspx#comments</comments><description>
&lt;p&gt;I presented at the May 2007 VSIP Developer Conference last week in Redmond on extensibility enhancements coming on the upcoming Orcas release of Team Foundation Server. We had a great turn out and it was really nice to meet some of the terrific partners working to complement our feature set. It's exciting to see new development on our application life cycle management platform.&lt;/p&gt;

&lt;p&gt;In case you're interested, here's the slide deck I presented:&lt;/p&gt;

&lt;object type="application/x-shockwave-flash" data="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=49814&amp;amp;doc=team-foundation-server-extensibility-enhancements-19409" height="348" width="425"&gt;&lt;param name="movie" value="https://s3.amazonaws.com:443/slideshare/ssplayer.swf?id=49814&amp;amp;doc=team-foundation-server-extensibility-enhancements-19409"&gt;&lt;/object&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2654356" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/VSIP/">VSIP</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/TFS/">TFS</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/SDK/">SDK</category><category domain="http://blogs.msdn.com/b/jimlamb/archive/tags/2008/">2008</category></item></channel></rss>