<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">KMoraz&amp;#39;s Sandbox</title><subtitle type="html">Kobi Moraz on Visual Studio ALM, TFS, Agile planning &amp;amp; releasing, deployment and more</subtitle><id>http://blogs.microsoft.co.il/blogs/kmoraz/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/" /><link rel="self" type="application/atom+xml" href="http://blogs.microsoft.co.il/blogs/kmoraz/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2012-08-15T23:14:00Z</updated><entry><title>New Microsoft ALM Study by Forrester</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/04/09/new-microsoft-alm-study-by-forrester.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/04/09/new-microsoft-alm-study-by-forrester.aspx</id><published>2013-04-10T03:30:00Z</published><updated>2013-04-10T03:30:00Z</updated><content type="html">&lt;h2&gt;&lt;a title="Microsoft ALM : 3 year ROI of 295% and a payback period of 6 months ! According to Forrester" href="http://bit.ly/Y9HuCg" target="_blank"&gt;“Microsoft ALM Increases Productivity, Lowers Costs, And Creates More Agile IT Organizations”&lt;/a&gt;&lt;/h2&gt;  &lt;p&gt;&lt;a title="Forrester TEI Study on Microsoft ALM" href="https://docs.google.com/viewer?url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-40-95-61/Forrester-Study-_2D00_-TEI-of-MSFT-ALM.pdf" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_03AEBE38.png" width="554" height="142" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Source: &lt;a title="Microsoft ALM : 3 year ROI of 295% and a payback period of 6 months ! According to Forrester" href="http://bit.ly/Y9HuCg" target="_blank"&gt;Microsoft ALM : 3 year ROI of 295% and a payback period of 6 months ! According to Forrester&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1878310" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="ALM" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/ALM/default.aspx" /></entry><entry><title>TFS 2012 Update 2 – Top 5 ALM Reasons To Update</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/04/05/tfs-2012-update-2-top-5-alm-reasons-to-update.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/04/05/tfs-2012-update-2-top-5-alm-reasons-to-update.aspx</id><published>2013-04-06T02:20:00Z</published><updated>2013-04-06T02:20:00Z</updated><content type="html">&lt;ol&gt;   &lt;li&gt;&lt;a title="TFS Update 2 Offers Settings Preservation for In-Place Upgrades" href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/03/05/tfs-update-2-offers-settings-preservation-for-in-place-upgrades.aspx" target="_blank"&gt;TFS Update 2 Offers Settings Preservation for In-Place Upgrades&lt;/a&gt;       &lt;br /&gt;&lt;font color="#808080"&gt;No more uninstalling the previous TFS version&lt;/font&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="Work Item Tagging" href="http://visualstudiomagazine.com/articles/2013/03/01/work-item-tagging.aspx" target="_blank"&gt;Work Item Tagging&lt;/a&gt;       &lt;br /&gt;&lt;font color="#808080"&gt;Tag and filter work items easily&lt;/font&gt;       &lt;br /&gt;&lt;a title="Work Item Tagging" href="http://visualstudiomagazine.com/articles/2013/03/01/work-item-tagging.aspx" target="_blank"&gt;&lt;img title="Work Item Tagging" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin-left:0px;display:inline;border-top-width:0px;margin-right:0px;" border="0" alt="Work Item Tagging" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_349DE70D.png" width="512" height="182" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Web based Test Hub" href="http://blogs.msdn.com/b/visualstudiouk/archive/2013/02/05/web-based-test-hub-in-tfs-update2-tfs2012-2-and-team-foundation-service.aspx" target="_blank"&gt;Web based Test Hub&lt;/a&gt;       &lt;br /&gt;&lt;font color="#808080"&gt;Manage Test Plans from the web&lt;/font&gt;       &lt;br /&gt;&lt;a title="Web based Test Hub" href="http://blogs.msdn.com/b/visualstudiouk/archive/2013/02/05/web-based-test-hub-in-tfs-update2-tfs2012-2-and-team-foundation-service.aspx" target="_blank"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin-left:0px;display:inline;border-top-width:0px;margin-right:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_6D386B4D.png" width="812" height="294" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Email Work Items from Web Access" href="http://tfs.visualstudio.com/en-us/home/news/2013/jan-21/" target="_blank"&gt;Email Work Items from Web Access&lt;/a&gt;       &lt;br /&gt;&lt;font color="#808080"&gt;Email a query or a single work item directly from the web&lt;/font&gt;       &lt;br /&gt;&lt;a title="Email Work Items from Web Access" href="http://tfs.visualstudio.com/en-us/home/news/2013/jan-21/" target="_blank"&gt;&lt;img title="Email Work Items from Web Access " style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="Email Work Items from Web Access " src="http://blogs.microsoft.co.il/blogs/kmoraz/image_3F96FFF0.png" width="579" height="223" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a title="Web Version Control Improvements" href="http://tfs.visualstudio.com/en-us/home/news/2013/jan-7/" target="_blank"&gt;Web version control Improvements&lt;/a&gt;       &lt;br /&gt;&lt;font color="#808080"&gt;Get more control and outlook on the source code over the web&lt;/font&gt;       &lt;br /&gt;&lt;a title="Web Version Control Improvements" href="http://tfs.visualstudio.com/en-us/home/news/2013/jan-21/" target="_blank"&gt;&lt;img title="Web Version Control Improvements" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="Web Version Control Improvements" src="http://tfs.visualstudio.com/media/home/news/news130107e.png" width="581" height="380" /&gt;&amp;#160;&lt;/a&gt;       &lt;p&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1866173" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="ALM" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/ALM/default.aspx" /><category term="Visual Studio 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Visual+Studio+2012/default.aspx" /><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /></entry><entry><title>Make Files Always Writable With Custom Pre-Build Task</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/03/29/make-files-always-writable-with-custom-pre-build-task.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/03/29/make-files-always-writable-with-custom-pre-build-task.aspx</id><published>2013-03-29T19:16:00Z</published><updated>2013-03-29T19:16:00Z</updated><content type="html">&lt;p&gt;A customer has a code generation project which requires all included files to be writable, or the build fails. &lt;/p&gt;  &lt;p&gt;MSBuild makes this easy by including our own custom targets before the core build in the optional &lt;strong&gt;Custom.After.Microsoft.Common.targets&lt;/strong&gt; file:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create files named &lt;strong&gt;Custom.After.Microsoft.Common.targets&lt;/strong&gt; and &lt;strong&gt;Custom.targets&lt;/strong&gt;&amp;#160; under &lt;em&gt;C:\Program Files (x86)\MSBuild\v4.0\&lt;/em&gt; (or ‘&lt;em&gt;v2.0’&lt;/em&gt; for MSBuild 2.0 engine).       &lt;br /&gt;&lt;img title="MSBuild Global Before Build Task" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin:5px 0px;display:inline;border-top-width:0px;" border="0" alt="MSBuild Global Before Build Task" src="http://blogs.microsoft.co.il/blogs/kmoraz/MSBuildGlobalBeforeBuildPath_5D7D8362.png" width="551" height="181" /&gt; &lt;/li&gt;    &lt;li&gt;Copy the following contents:      &lt;p&gt;&lt;strong&gt;&lt;em&gt;Custom.targets&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;      &lt;div id="codeSnippetWrapper" style="overflow:auto;cursor:text;font-size:8pt;border-top:silver 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-right:silver 1px solid;border-bottom:silver 1px solid;padding-bottom:4px;direction:ltr;text-align:left;padding-top:4px;padding-left:4px;margin:20px 0px 10px;border-left:silver 1px solid;line-height:12pt;padding-right:4px;max-height:200px;width:97.5%;background-color:#f4f4f4;"&gt;       &lt;div id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;         &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ToolsVersion&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;4.0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/developer/msbuild/2003&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;&amp;lt;!-- RemoveReadOnly task --&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UsingTask&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;         &lt;span style="color:#ff0000;"&gt;TaskName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;RemoveReadOnly&amp;quot;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;         &lt;span style="color:#ff0000;"&gt;TaskFactory&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;CodeTaskFactory&amp;quot;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;         &lt;span style="color:#ff0000;"&gt;AssemblyFile&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ParameterGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Files&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ParameterType&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Microsoft.Build.Framework.ITaskItem[]&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Required&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ParameterGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Task&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Using&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;System.IO&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Using&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Microsoft.Build.Framework&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Using&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Microsoft.Build.Utilities&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Code&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Fragment&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Language&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;cs&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;!&lt;/span&gt;[CDATA[&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt;       &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum19" style="color:#606060;"&gt;  19:&lt;/span&gt;           Log.LogMessage(&amp;quot;RemoveReadOnly: About to get attributes of {0} files&amp;quot;, Files.Length);&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum20" style="color:#606060;"&gt;  20:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum21" style="color:#606060;"&gt;  21:&lt;/span&gt;           if (Files != null)&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum22" style="color:#606060;"&gt;  22:&lt;/span&gt;           {&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum23" style="color:#606060;"&gt;  23:&lt;/span&gt;                 foreach (var item in Files)&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum24" style="color:#606060;"&gt;  24:&lt;/span&gt;                 {&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum25" style="color:#606060;"&gt;  25:&lt;/span&gt;                     var file = new FileInfo(item.ItemSpec);&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum26" style="color:#606060;"&gt;  26:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum27" style="color:#606060;"&gt;  27:&lt;/span&gt;                     if (!file.Exists) continue;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum28" style="color:#606060;"&gt;  28:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum29" style="color:#606060;"&gt;  29:&lt;/span&gt;                     var attrib = file.Attributes;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum30" style="color:#606060;"&gt;  30:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum31" style="color:#606060;"&gt;  31:&lt;/span&gt;                     if (!attrib.HasFlag(FileAttributes.ReadOnly)) continue;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum32" style="color:#606060;"&gt;  32:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum33" style="color:#606060;"&gt;  33:&lt;/span&gt;                     attrib &amp;amp;= ~FileAttributes.ReadOnly;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum34" style="color:#606060;"&gt;  34:&lt;/span&gt;                     Log.LogMessage(MessageImportance.High, &amp;quot;{0} was made writable&amp;quot;, file);&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum35" style="color:#606060;"&gt;  35:&lt;/span&gt;                     file.Attributes = attrib;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum36" style="color:#606060;"&gt;  36:&lt;/span&gt;                 }&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum37" style="color:#606060;"&gt;  37:&lt;/span&gt;           }&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum38" style="color:#606060;"&gt;  38:&lt;/span&gt; ]]&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum39" style="color:#606060;"&gt;  39:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Code&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum40" style="color:#606060;"&gt;  40:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Task&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum41" style="color:#606060;"&gt;  41:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;UsingTask&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum42" style="color:#606060;"&gt;  42:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum43" style="color:#606060;"&gt;  43:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
    &lt;/div&gt;

    &lt;p&gt;&lt;em&gt;The Custom.targets defines the custom &lt;strong&gt;RemoveReadOnly&lt;/strong&gt; task using MSBuild 4.0 &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd722601.aspx" target="_blank"&gt;&lt;em&gt;Inline Tasks&lt;/em&gt;&lt;/a&gt;. &lt;em&gt;Of course this task can be implemented explicitly as a normal &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.build.framework.itask.aspx" target="_blank"&gt;&lt;em&gt;ITask&lt;/em&gt;&lt;/a&gt;&lt;em&gt; as well.&lt;/em&gt;&lt;/p&gt;

    &lt;p&gt;&amp;#160;&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;&lt;em&gt;Custom.After.Microsoft.Common.targets&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

    &lt;div id="codeSnippetWrapper" style="overflow:auto;cursor:text;font-size:8pt;border-top:silver 1px solid;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-right:silver 1px solid;border-bottom:silver 1px solid;padding-bottom:4px;direction:ltr;text-align:left;padding-top:4px;padding-left:4px;margin:20px 0px 10px;border-left:silver 1px solid;line-height:12pt;padding-right:4px;max-height:200px;width:97.5%;background-color:#f4f4f4;"&gt;
      &lt;div id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;
        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/developer/msbuild/2003&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Import&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Custom.targets&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CompileDependsOn&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;             GlobalBeforeBuild;$(CompileDependsOn)&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CompileDependsOn&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;FilesToSetWritable&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Include&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;..\**\*.*&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Target&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;GlobalBeforeBuild&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Message&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;&amp;amp;#9556;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9559;%0a&amp;amp;#9553; CUSTOM TARGET: GlobalBeforeBuild &amp;amp;#9553;%0a&amp;amp;#9562;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9552;&amp;amp;#9565;&amp;quot;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt;                          &lt;span style="color:#ff0000;"&gt;Importance&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;high&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum19" style="color:#606060;"&gt;  19:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum20" style="color:#606060;"&gt;  20:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;RemoveReadOnly&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Files&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;@(FilesToSetWritable)&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum21" style="color:#606060;"&gt;  21:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum22" style="color:#606060;"&gt;  22:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Target&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum23" style="color:#606060;"&gt;  23:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


        &lt;pre style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:100%;background-color:#f4f4f4;"&gt;&lt;span id="lnum24" style="color:#606060;"&gt;  24:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
    &lt;/div&gt;

    &lt;p&gt;&lt;em&gt;line 3: import of the custom target file. The main common targets file should be clean of custom tasks definitions. 
        &lt;br /&gt;lines 5-9: inject our custom target before the common targets by overriding MSBuild’s &lt;strong&gt;CompileDependsOn&lt;/strong&gt; property. 

        &lt;br /&gt;lines 11-13: define a group of files to pass the custom task. 

        &lt;br /&gt;line 20: call to our custom &lt;strong&gt;RemoveReadOnly&lt;/strong&gt; task defined in Custom.targets. &lt;/em&gt;&lt;/p&gt;

    &lt;p&gt;&amp;#160;&lt;/p&gt;
  &lt;/li&gt;

  &lt;li&gt;When the next time &lt;em&gt;any&lt;/em&gt; project compiles, the custom targets executed before the core compilation. 

    &lt;ol&gt;&lt;/ol&gt;

    &lt;p&gt;&amp;#160;&lt;img title="MSBuild Global Before Build Task" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="MSBuild Global Before Build Task" src="http://blogs.microsoft.co.il/blogs/kmoraz/MSBuildGlobalBeforeBuildVS_0D47FF57.png" width="955" height="329" /&gt; &lt;/p&gt;

    &lt;p&gt;The boxed label makes will make our custom target stick out – to let anyone know the default behavior was overridden.&lt;/p&gt;

    &lt;p&gt;&amp;#160;&lt;img title="MSBuild Global Before Build Task" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="MSBuild Global Before Build Task" src="http://blogs.microsoft.co.il/blogs/kmoraz/MSBuildGlobalBeforeBuildCMD8_5CE0DF06.png" width="681" height="742" /&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Extending MSBuild with custom tasks is sometimes a project-wide requirement. Just drop a &lt;em&gt;&lt;strong&gt;Custom.Before.Microsoft.Common.targets&lt;/strong&gt; or &lt;strong&gt;Custom.After.Microsoft.Common.targets&lt;/strong&gt;&lt;/em&gt; in the MSBuild directory and let the fun begin. &lt;/p&gt;

&lt;p&gt;Note the distinction between the &lt;strong&gt;&lt;em&gt;before&lt;/em&gt;&lt;/strong&gt; - before the core targets, which means well-known properties will be overridden by common tasks and &lt;strong&gt;&lt;em&gt;after&lt;/em&gt;&lt;/strong&gt; - after the core targets have been defined by MSBuild, allowing overriding them with our custom definitions.&lt;/p&gt;

&lt;div id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:23dbd76a-5155-427d-bf0e-a7ab0b537369" class="wlWriterSmartContent" style="float:none;padding-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;"&gt;
  &lt;p&gt;Download Sources &lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/MSBuildMakeFilesWritabe_2747D147.zip"&gt;MSBuildMakeFilesWritabe.zip&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1841578" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author></entry><entry><title>Visual Studio 2012 Branching Bug?</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/02/27/visual-studio-2012-branching-bug.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/02/27/visual-studio-2012-branching-bug.aspx</id><published>2013-02-28T01:49:38Z</published><updated>2013-02-28T01:49:38Z</updated><content type="html">&lt;p&gt;An unusual bug discovered on a customer site related to Visual Studio + TFS 2012 branching&amp;#160; I&amp;#39;ve posted it on connect:&lt;/p&gt;  &lt;p&gt;#780177: &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/details/780177/a-newly-created-branch-contains-historical-partial-merges-on-a-server-upgraded-from-2010-to-2012-causing-unexpected-conflicts"&gt;A newly created branch contains historical partial merges on a server upgraded from 2010 to 2012 causing unexpected conflicts&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The odd part is, the 2nd workaround we&amp;#39;ve found exposes unexpected difference when running from Visual Studio UI, where tf.exe command does not seems to reproduce the problem. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Workarounds&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1. Running &amp;quot;tf.exe merge /recursive /discard &amp;lt;parent&amp;gt; &amp;lt;child&amp;gt;&amp;quot; seems to fix the issue. &lt;/p&gt;  &lt;p&gt;2. Use the command line &amp;quot;tf.exe branch &amp;lt;parent&amp;gt; &amp;lt;child&amp;gt;&amp;quot; to create the branch. Visual Studio UI seems to have different results!&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1769764" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS/default.aspx" /><category term="Visual Studio 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Visual+Studio+2012/default.aspx" /><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Branching &amp; Merging" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Branching+_2600_+Merging/default.aspx" /></entry><entry><title>Visual Studio 2012 Update 2 CTP 2</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/01/31/visual-studio-2012-update-2-ctp-2.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/01/31/visual-studio-2012-update-2-ctp-2.aspx</id><published>2013-01-31T22:20:00Z</published><updated>2013-01-31T22:20:00Z</updated><content type="html">&lt;p&gt;Visual Studio 2012 Update 2 CTP 2 was released and brings some more fixes and improvements including the long awaited feature to send work item email from TFS web access and UI testing support for Windows Store apps.&lt;/p&gt;  &lt;h3&gt;New features in TFS:&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Agile Planning &lt;/b&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;New work item tags provide lightweight metadata for work items &lt;/li&gt;      &lt;li&gt;&amp;quot;Connect&amp;quot; dialog box is added to Team Explorer to locate different team project connections and projects &lt;/li&gt;      &lt;li&gt;&lt;font style="background-color:#ffff00;"&gt;&lt;font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font&gt;&lt;strong&gt;&lt;font&gt;Ability to send a work item as an email message in TFS Web Access&lt;/font&gt; &lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;ul&gt;&lt;b&gt;Test Case Manager (Web Access)&lt;/b&gt;     &lt;ul&gt;     &lt;li&gt;Ability to view and edit test cases in a test plan from TFS Web Access &lt;/li&gt;      &lt;li&gt;Ability to run manual test cases and file bugs from TFS Web Access &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;For the full list of fixes and improvements: &lt;a title="http://support.microsoft.com/kb/2797912" href="http://support.microsoft.com/kb/2797912"&gt;http://support.microsoft.com/kb/2797912&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Download: &lt;a title="http://go.microsoft.com/fwlink/?LinkId=273878" href="http://go.microsoft.com/fwlink/?LinkId=273878"&gt;http://go.microsoft.com/fwlink/?LinkId=273878&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1719061" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="Visual Studio 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Visual+Studio+2012/default.aspx" /><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /></entry><entry><title>TFS 2012 Build Controller - Zombified by SSL Binding</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/01/03/tfs-2012-build-controller-zombified-by-ssl-binding.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2013/01/03/tfs-2012-build-controller-zombified-by-ssl-binding.aspx</id><published>2013-01-04T00:20:00Z</published><updated>2013-01-04T00:20:00Z</updated><content type="html">&lt;h3&gt;Problem&lt;/h3&gt;  &lt;p&gt;On the client, queued builds get stuck on the queue and never start.&lt;/p&gt;  &lt;p&gt;On the server, build service is running, but both the Build Controller and Build Agent appear as &amp;#39;Ready&amp;#39; with &amp;#39;Stopped&amp;#39; icon.&lt;/p&gt; &lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_02938C0E.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:5px 5px 5px 0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="TFS 2012 Build Service" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_086E2FA7.png" width="465" height="115" /&gt;&lt;/a&gt;   &lt;p&gt;After more digging, the Build-Services\Operational event viewer log revealed the reason:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;height:108px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:61.3%;background-color:#f4f4f4;"&gt;Build machine build lost connectivity to message queue tfsmq://buildservicehost-2/.&lt;br /&gt;Reason: Please contact your administrator. There was an error contacting the server.&lt;br /&gt;Technical information (for administrator):&lt;br /&gt; HTTP code 500: System.ServiceModel.&lt;/span&gt;ServiceActivationException&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_2744A385.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:5px 5px 5px 0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_7ABB739E.png" width="584" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Solution&lt;/h3&gt;

&lt;p&gt;TFS was running in SSL binding but the build service was failing to bind. First, we need to make sure the Message Queue is configured with &lt;span style="color:#800000;"&gt;&lt;font style="background-color:#ffff00;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&lt;font color="#000000" face="Consolas"&gt;httpsTransport&lt;/font&gt;&lt;/span&gt; binding by modifying the web.config on the App Tier under:&lt;/p&gt;

&lt;div&gt;
  &lt;pre id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;height:72px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:61.3%;background-color:#f4f4f4;"&gt;&lt;br /&gt;C:\Program Files\Microsoft Team Foundation Server 11.0\Application Tier\Message Queue\web.config&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;If only SSL is used, replace &lt;span style="color:#800000;"&gt;&lt;font color="#000000" face="Consolas"&gt;httpTransport&lt;/font&gt;&lt;/span&gt; with &lt;span style="color:#800000;"&gt;&lt;font color="#000000" face="Consolas"&gt;httpsTransport. &lt;/font&gt;&lt;/span&gt;Otherwise add &lt;span style="color:#800000;"&gt;&lt;font color="#000000" face="Consolas"&gt;httpsTransport.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre id="codeSnippet" style="border-top-style:none;overflow:visible;font-size:8pt;border-left-style:none;height:197px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;border-bottom-style:none;color:black;padding-bottom:0px;direction:ltr;text-align:left;padding-top:0px;border-right-style:none;padding-left:0px;margin:0em;line-height:12pt;padding-right:0px;width:61.3%;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;bindings&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;customBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;binding&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;TfsSoapBinding&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;textMessageEncoding&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;messageVersion&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Soap12WSAddressing10&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&lt;font style="background-color:#ffff00;"&gt;httpsTransport&lt;/font&gt;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;authenticationScheme&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Ntlm&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;manualAddressing&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;binding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="color:#0000ff;"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;customBinding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;bindings&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;
Restart IIS (iisreset) and restart the build service. 

&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1625860" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Continuous Integration" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Continuous+Integration/default.aspx" /></entry><entry><title>Updated: Presenting on ALM with Team Foundation Server 2012 at John Bryce Open House</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/12/25/presenting-on-alm-with-team-foundation-server-2012-at-john-bryce-open-house.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/12/25/presenting-on-alm-with-team-foundation-server-2012-at-john-bryce-open-house.aspx</id><published>2012-12-25T17:49:00Z</published><updated>2012-12-25T17:49:00Z</updated><content type="html">&lt;p&gt;A new date was published for the &amp;quot;ALM with Team Foundation Server 2012&amp;quot; event: &lt;strong&gt;Tuesday, February 26, 2013&lt;/strong&gt; where I&amp;#39;ll be presenting the new agile features in TFS 2012&lt;strong&gt;.&lt;/strong&gt; This is an open event hosted by &lt;em&gt;CodeValue&lt;/em&gt; and &lt;em&gt;John Bryce&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Click &lt;a href="http://www.johnbryce.co.il/content/%D7%99%D7%95%D7%9D-%D7%A4%D7%AA%D7%95%D7%97-alm/?source=divur_codevalue" target="_blank"&gt;here&lt;/a&gt; for details and registration.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://docs.google.com/uc?export=download&amp;amp;id=0B5WNF9zfAbe2WEhSaHFHX1dZTkk"&gt;&lt;img title="Add to Outlook" style="margin:5px 5px 5px 0px;" border="0" alt="Add to Outlook" src="http://blogs.microsoft.co.il/blogs/kmoraz/images/ical.jpg" width="35" height="37" /&gt;&lt;/a&gt; &lt;a href="https://www.google.com/calendar/event?action=TEMPLATE&amp;amp;tmeid=cW9wYjhoM3A1ZTNzOXBhZzczYmt0MnU5dDAgbGs4ZXBpMHFuZTc2c3UzazBscGJzNHJjbXNAZw&amp;amp;tmsrc=lk8epi0qne76su3k0lpbs4rcms%40group.calendar.google.com" target="_blank"&gt;&lt;img border="0" alt="Add to Google Calendar" src="https://www.google.com/calendar/images/ext/gc_button6_en.gif" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Customers today demand faster software delivery with higher quality. ALM strategies, such as various agile methods can help. These are often backed up by powerful tools, such as TFS 2012. See how the new TFS 2012 can help your team become more agile and productive&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.johnbryce.co.il/content/%D7%99%D7%95%D7%9D-%D7%A4%D7%AA%D7%95%D7%97-alm/?source=divur_codevalue"&gt;&lt;img title="ALM_Day" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:5px 5px 5px 0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="ALM_Day" src="http://blogs.microsoft.co.il/blogs/kmoraz/ALM_Day_2D87F6B6.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;09:00 – 09:30 – Assembly&lt;/p&gt;  &lt;p&gt;09:30 – 10:30 – &lt;strong&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/alon/" target="_blank"&gt;Alon Fliess&lt;/a&gt;&lt;/strong&gt;: Overview of ALM and what it means in the agile methodologies toolset.&lt;/p&gt;  &lt;p&gt;10:30 – 10:45 – Break&lt;/p&gt;  &lt;p&gt;10:45 – 12:00 – &lt;strong&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/"&gt;Kobi Moraz&lt;/a&gt;&lt;/strong&gt;: Managing blocks, sprints and tasks using TFS 2012; continuous integration; working with storyboards and more.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1592621" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author></entry><entry><title>TF400744 SetRecoveryModelToSimple.sql Failed While Applying TFS 2012 Update 1</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/12/11/tf400744-setrecoverymodeltosimple-sql-failed-while-applying-tfs-2012-update-1.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/12/11/tf400744-setrecoverymodeltosimple-sql-failed-while-applying-tfs-2012-update-1.aspx</id><published>2012-12-11T05:09:00Z</published><updated>2012-12-11T05:09:00Z</updated><content type="html">&lt;p&gt;While updating TFS 2012 with update 1, the following error was thrown towards the end of the process:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Consolas"&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Execution results:     &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Overall result: Success      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Nodes completed: 51      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Nodes succeeded: 51      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Nodes skipped: 23      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Nodes with errors: 0      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Nodes with warnings: 0      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Number of error messages: 0      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Number of warning messages: 0      &lt;br /&gt;[Info&amp;#160;&amp;#160; @18:14:02.866] Number of info messages: 2      &lt;br /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;[Error&amp;#160; @18:16:51.645] TF400744: An error occurred while executing the following script: SetRecoveryModelToSimple.sql. Failed batch starts on the line 1. Statement line: 1. Script line: 1. Error: 5069 ALTER DATABASE statement failed.&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_7BCFDF8E.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_0AB70EA9.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;As implied from the error, the upgrade process failed to execute a script that sets the &lt;a href="http://msdn.microsoft.com/en-us/library/ms189272(v=sql.105).aspx" target="_blank"&gt;SQL Recovery Model&lt;/a&gt; to simple. The solution was to set the TFS databases (&lt;em&gt;Tfs_Configuration&lt;/em&gt;, &lt;em&gt;Tfs_DefaultCollection&lt;/em&gt; and &lt;em&gt;Tfs_Warehouse&lt;/em&gt;) Recovery Model from Full to Simple prior to applying the update. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/sql_db_rm_1583CA24.png"&gt;&lt;img title="sql_db_rm" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="sql_db_rm" src="http://blogs.microsoft.co.il/blogs/kmoraz/sql_db_rm_thumb_0D1FF4CD.png" width="415" height="131" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The aggravating part is that error forced us to rollback the entire update. After restoring the database to a point before the update has taken place, we uninstalled TFS 2012 App Tier completely and repeated the update process. On the second attempt when the Recovery Model in simple mode, the update applied successfully. Just need to not forget to switch it back to Full Recovery Model when done.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1537391" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Upgrade" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Upgrade/default.aspx" /></entry><entry><title>Presenting on ALM &amp; Visual Studio 2012 Open House</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/11/25/presenting-on-alm-amp-visual-studio-2012-open-house.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/11/25/presenting-on-alm-amp-visual-studio-2012-open-house.aspx</id><published>2012-11-26T04:05:00Z</published><updated>2012-11-26T04:05:00Z</updated><content type="html">&lt;p&gt;I&amp;#39;ll be presenting at the &amp;quot;Special Open House: ALM &amp;amp; Visual Studio 2012 - Latest Features and Updates&amp;quot; event&amp;nbsp;on &lt;a title="Special Open House: ALM &amp;amp; Visual Studio 2012 - Latest Features and Updates" href="http://codevalue.net/NewsEvents/Details/e7" target="_blank"&gt;Monday, December 3, 2012&lt;/a&gt; about the new features in&amp;nbsp;TFS 2012&lt;strong&gt;.&lt;/strong&gt; This is an open event hosted by &lt;em&gt;CodeValue&lt;/em&gt; and &lt;em&gt;Microsoft&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://docs.google.com/uc?authuser=0&amp;amp;id=0B5WNF9zfAbe2STRDQWNxRngwUkU&amp;amp;export=download&amp;amp;revid=0B5WNF9zfAbe2UzZxdVN1ckxmc2dodFd0SzhFOHl4RGJLUHNZPQ"&gt;&lt;img width="35" height="37" title="Add to Outlook" style="border-width:0px;display:inline;" alt="Add to Outlook" src="http://blogs.microsoft.co.il/blogs/kmoraz/images/ical.jpg" border="0" /&gt;&lt;/a&gt; &lt;a href="https://www.google.com/calendar/event?action=TEMPLATE&amp;amp;tmeid=b3AzcDRuY2dmdHNrOWdvcXFqcWR2bmJlYTggbGs4ZXBpMHFuZTc2c3UzazBscGJzNHJjbXNAZw&amp;amp;tmsrc=lk8epi0qne76su3k0lpbs4rcms%40group.calendar.google.com" target="_blank"&gt;&lt;img alt="Add to Google Calendar" src="http://www.google.com/calendar/images/ext/gc_button6.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Visual Studio 2012 provides all the necessary tools for building modern &amp;quot;Apps&amp;quot; for the PC, the Device and the Cloud. Combining With Team Foundation Service, you get an end-to-end ALM solution that handles everything from version control and code reviews to agile planning and automated builds and tests. CodeValue is proud to present Visual Studio 2012 in a half a day professional to professional open house event.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;img title="ALM &amp;amp; Visual Studio 2012 Invitation" style="border-width:0px;display:inline;" alt="ALM &amp;amp; Visual Studio 2012 Invitation" src="http://codevalueweb.blob.core.windows.net/images/EventItem/dd7443ad49784ad5a763a484620bcc77.jpg" border="0" /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;08:30-09:00&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;p&gt;Gathering&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;09:00-09:30&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;Updates from Build 2012 - fresh news and excerpts&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;a title="Pavel&amp;#39;s Blog" href="http://blogs.microsoft.co.il/blogs/pavely/" target="_blank"&gt;Pavel&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;09:30-10:15&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="left"&gt;TFS 2012 - See how the new TFS 2012 can help your team become more agile and productive &lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/" target="_blank"&gt;Kobi&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;10:15-11:00&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;p&gt;QA Automation using VS 2012 - An easy and elegant way to deal with checking the old functionality&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Stas&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;11:00-11:15&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;p&gt;Break&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;11:15-12:00&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;&lt;p&gt;ALM - The reality - Nova&amp;#39;s story&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Yaniv&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;12:00-12:45&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;Productivity tools - the little helpers - Visual Studio 3rd party tools and extension help developers in coding faster and easier&lt;/td&gt;        &lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;a href="http://www.hmemcpy.com/blog/" target="_blank"&gt;Igal&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1480900" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="ALM" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/ALM/default.aspx" /><category term="Visual Studio 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Visual+Studio+2012/default.aspx" /><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Events" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Events/default.aspx" /></entry><entry><title>How To Fix Post Upgrade TFS 2012 Error "The downloaded file is corrupt. Please get the file again"</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/11/07/how-to-fix-post-upgrade-tfs-2012-error-quot-the-downloaded-file-is-corrupt-please-get-the-file-again-quot.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/11/07/how-to-fix-post-upgrade-tfs-2012-error-quot-the-downloaded-file-is-corrupt-please-get-the-file-again-quot.aspx</id><published>2012-11-08T03:09:00Z</published><updated>2012-11-08T03:09:00Z</updated><content type="html">&lt;blockquote&gt;   &lt;p&gt;&amp;quot;{some path}: The downloaded file is corrupt. Please get the file again.&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;On the TFS App Tier go to:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Program Files\Microsoft Team Foundation Server 11.0\Application Tier\Web Services\_tfs_data\&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Delete the cache folder {GUID} folder.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1537503" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Upgrade" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Upgrade/default.aspx" /></entry><entry><title>Visual Studio 2012 Update 1</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/30/visual-studio-2012-update-1.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/30/visual-studio-2012-update-1.aspx</id><published>2012-10-30T04:44:00Z</published><updated>2012-10-30T04:44:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/bharry/" target="_blank"&gt;Brian Harry&lt;/a&gt; posted about the &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/10/29/visual-studio-2012-update-1-final-ctp.aspx" target="_blank"&gt;first update&lt;/a&gt; for Visual Studio 2012 under the new &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/08/28/tfs-shipping-cadence.aspx" target="_blank"&gt;release cadence&lt;/a&gt;, in which Visual Studio updates get released quarterly. Early adaptors can download the CTP.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;In addition to dozens of new features, we’ve fixed hundreds of bugs that we’ve found and you’ve reported.&amp;quot;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=34818"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=34818&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1393436" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="Visual Studio 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Visual+Studio+2012/default.aspx" /></entry><entry><title>CodeValue at BUILD 2012</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/29/codevalue-at-build-2012.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/29/codevalue-at-build-2012.aspx</id><published>2012-10-29T04:05:00Z</published><updated>2012-10-29T04:05:00Z</updated><content type="html">&lt;p&gt;I was fortunate enough to join a fantastic group of 10 guys from &lt;a href="http://codevalue.net"&gt;CodeValue&lt;/a&gt; to attend the &lt;a href="http://www.buildwindows.com/"&gt;BUILD 2012&lt;/a&gt; conference at the Microsoft Redmond, WA campus.&lt;/p&gt;  &lt;p&gt;I&amp;#39;m looking forward for some great experience, fun moments and fine food. Oh, and for some interesting sessions too ;)&lt;/p&gt;  &lt;p&gt;&lt;a title="Build 2012" href="http://www.buildwindows.com/" target="_blank"&gt;&lt;img title="build2012" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="build2012" src="http://blogs.microsoft.co.il/blogs/kmoraz/build2012_62AF366C.png" width="244" height="85" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1393416" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="BUILD" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/BUILD/default.aspx" /><category term="Events" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Events/default.aspx" /></entry><entry><title>Changing Non-Working Days in TFS 2012 Scrum 2.0 Process Template</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/16/changing-non-working-days-in-tfs-2012-scrum-2-0-process-template.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/10/16/changing-non-working-days-in-tfs-2012-scrum-2-0-process-template.aspx</id><published>2012-10-16T04:21:00Z</published><updated>2012-10-16T04:21:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh739073.aspx#calculations"&gt;http://msdn.microsoft.com/en-us/library/hh739073.aspx#calculations&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;witadmin exportcommonprocessconfig /collection:http://tfs.mycompany.com:8080/tfs/defaultcollection /p:ScrumProject/f:&amp;quot;ScrumProject_CommonConfiguration.xml&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;witadmin importcommonprocessconfig /collection:http://tfs.mycompany.com:8080/tfs/defaultcollection /p:ScrumProject/f:&amp;quot;ScrumProject_CommonConfiguration.xml&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_3F7FE976.png"&gt;&lt;img width="894" height="402" title="image" style="border-width:0px;display:inline;" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_31CD2D6E.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1355321" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="Scrum" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Scrum/default.aspx" /><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="WIT" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/WIT/default.aspx" /></entry><entry><title>TFS 2012 Upgrade on SQL 2012 and Error TF400069</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/09/04/tfs-2012-upgrade-on-sql-2012-and-error-tf400069.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/09/04/tfs-2012-upgrade-on-sql-2012-and-error-tf400069.aspx</id><published>2012-09-04T19:45:00Z</published><updated>2012-09-04T19:45:00Z</updated><content type="html">&lt;p&gt;Upgrade of TFS 2010 to TFS 2012 on Windows 2012 Server SQL 2012 Server failed with:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Error: TF400069 A required component is not installed on the application tier. You must install either SQL Server Analysis Services or the SQL Server Client Tools on the application tier to ensure that the Analysis Services object model is present for warehouse processing.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/TF4000069_2F77E455.png"&gt;&lt;img title="TF4000069" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="TF4000069" src="http://blogs.microsoft.co.il/blogs/kmoraz/TF4000069_thumb_26A7DC09.png" width="653" height="514" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Installation of &lt;a href="http://msdn.microsoft.com/en-us/evalcenter/hh230763" target="_blank"&gt;SSMS 2012&lt;/a&gt; (requires .NET 3.5 Framework) with Client Tools opt-in made the error go away.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1537480" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Upgrade" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Upgrade/default.aspx" /></entry><entry><title>TF257007 Error When Opening TFS Administration Console</title><link rel="alternate" type="text/html" href="http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/08/15/tf257007-error-when-opening-tfs-administration-console.aspx" /><id>http://blogs.microsoft.co.il/blogs/kmoraz/archive/2012/08/15/tf257007-error-when-opening-tfs-administration-console.aspx</id><published>2012-08-16T03:14:00Z</published><updated>2012-08-16T03:14:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_7D00DE22.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_4160CF62.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;…followed by another error thrown on the Build Configuration node: &lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;font face="Segoe UI"&gt;The invocation of the constructor type &amp;#39;Microsoft.TeamFoundation.Contorls.WPF.BusySpinner&amp;#39; that matches the specified binding constraints threw an exception.&lt;/font&gt;&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/kmoraz/image_2C8ED6E2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/kmoraz/image_thumb_756548E8.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;These errors may occur when the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/27832337-62ae-4b54-9b00-98bb4fb7041a"&gt;TFS Power Tools 11 beta&lt;/a&gt; installed prior to upgrading the TFS from beta or RC version to the RTM version. The solution is simply to reinstall the Power Tools.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=1276340" width="1" height="1"&gt;</content><author><name>kmoraz</name><uri>http://blogs.microsoft.co.il/members/kmoraz.aspx</uri></author><category term="TFS 2012" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/TFS+2012/default.aspx" /><category term="Power Tools" scheme="http://blogs.microsoft.co.il/blogs/kmoraz/archive/tags/Power+Tools/default.aspx" /></entry></feed>