<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Nicolas Moreau's Blog</title><subtitle type="html">Thoughts from .NET Large Scale Real Life projects</subtitle><id>http://blogs.msdn.com/nmoreau/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/nmoreau/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/nmoreau/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2006-04-13T22:56:00Z</updated><entry><title>Where to Download .NET Framework  2.0 SP2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/nmoreau/archive/2008/12/23/where-to-download-net-framework-2-0-sp2.aspx" /><id>http://blogs.msdn.com/nmoreau/archive/2008/12/23/where-to-download-net-framework-2-0-sp2.aspx</id><published>2008-12-23T15:54:00Z</published><updated>2008-12-23T15:54:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="COLOR: red"&gt;&lt;STRONG&gt;UPDATED&amp;nbsp; -&amp;nbsp;January 7th 2009&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;P&gt;This Blog Post is not completely Up to date since a Redistributable is now available which can enable you to have a "single" .NET 2.0 SP2 Package.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET Framework 2.0 SP2 is now available here :&amp;nbsp; &lt;/STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/vs2008/bb898654.aspx"&gt;http://msdn.microsoft.com/en-us/vs2008/bb898654.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;____________________________________________________________________________________________________________________________&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;With the advent of .NET Release pace, I often encounter customers lost with .NET Framework version issues and Services Pack Mix.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;SPAN lang=en-GB&gt;I always point them to this blog post (in French…) &lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/aurelien/archive/2008/09/23/le-multi-targeting-de-visual-studio-et-les-services-packs.aspx" mce_href="http://blogs.msdn.com/aurelien/archive/2008/09/23/le-multi-targeting-de-visual-studio-et-les-services-packs.aspx"&gt;&lt;SPAN lang=fr&gt;http://blogs.msdn.com/aurelien/archive/2008/09/23/le-multi-targeting-de-visual-studio-et-les-services-packs.aspx&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt; FONT-WEIGHT: bold" lang=en-GB&gt;The one question I especially this one :" Where can I Download Microsoft .NET 2.0 SP2 ?"&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;Currently (December 2008), the installation package of .NET 2.0 SP2 is not available as a "standalone" package.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;.NET Framework 2.0 SP2, actually ships with .NET Framework 3.5 SP1. &lt;SPAN style="FONT-WEIGHT: bold"&gt;The only way to get the former is to get the latter.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;So the Answer is (to date) : install .NET Framework 3.5 SP1.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;This however raises a question for customer running .NET 2.0 applications in a "Closed" (meaning not connected to either Windows Update, or to the Internet).&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;These customer uses to be able to install their application without needing to have an Internet Connection. It is still possible, but there is some guidance to be aware of in the Process.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt; TEXT-DECORATION: underline" lang=en-GB&gt;From .NET 3.5 to .NET 3.5 SP1&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; unicode-bidi: embed; DIRECTION: ltr; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;Either use the Boostraper which will download missing requirements : &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" lang=en-US&gt;dotnetfx35setup.exe here : &lt;/SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-US&gt;http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;displaylang=en&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" lang=en-US&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Or use the Full Installation Package &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt"&gt;dotnetfx35.exe here :&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;A href="http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe" mce_href="http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe"&gt;&lt;SPAN lang=en-US&gt;http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt; TEXT-DECORATION: underline"&gt;From Anywhere to .NET 3.5&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; unicode-bidi: embed; DIRECTION: ltr; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;Either use the Boostraper which will download missing requirements : &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" lang=en-US&gt;dotnetfx35setup.exe here : &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en"&gt;&lt;SPAN lang=en-US&gt;http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; unicode-bidi: embed; DIRECTION: ltr; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" lang=en-US&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Or Use the Full Installation Package &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt"&gt;dotnetfx35.exe here : &lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;A href="http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe" mce_href="http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe"&gt;&lt;SPAN lang=en-US&gt;http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;If you plan to use the Full Installation Package, be aware that there is a bunch of Pre-Requisite that .NET 2.0 customer may not even know about.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;Such as : &lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; unicode-bidi: embed; DIRECTION: ltr; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.375in" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" lang=en-US&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Software Rasterizer for the Microsoft DirectX 9.0 Software Development Kit (SDK).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" lang=en-US&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Or XML Paper Specification (XPS) Shared Components Pack 1.0&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-GB&gt;The good thing is that a very useful Deployment Guide is available and will definitely help in this task:&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt; FONT-WEIGHT: bold" lang=en-US&gt;.NET Framework 3.5 Deployment Guide for Administrators&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc160717.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc160717.aspx"&gt;&lt;SPAN lang=en-US&gt;http://msdn.microsoft.com/en-us/library/cc160717.aspx&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0in 0.375in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" lang=en-US&gt;That said, if you plan to deploy .NET 2.0 SP2 on you master, using Windows Update (or your internal WSUS) would ease the process.&lt;/P&gt;
&lt;P style="MARGIN: 0in; FONT-FAMILY: Calibri; FONT-SIZE: 11pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9249934" width="1" height="1"&gt;</content><author><name>nmoreau</name><uri>http://blogs.msdn.com/members/nmoreau.aspx</uri></author></entry><entry><title>Deploying Web Application Projects</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/nmoreau/archive/2007/01/26/deploying-web-application-projects.aspx" /><link rel="enclosure" type="image/x-png" length="60320" href="http://blogs.msdn.com/nmoreau/attachment/1536373.ashx" /><id>http://blogs.msdn.com/nmoreau/archive/2007/01/26/deploying-web-application-projects.aspx</id><published>2007-01-26T14:53:00Z</published><updated>2007-01-26T14:53:00Z</updated><content type="html">&amp;nbsp; 
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/asp.net/aa336618.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/asp.net/aa336618.aspx"&gt;Web Application Projects&lt;/A&gt; (WAP) are a great feature that has been in the field for a while, but which will progressively appear more and more due to its presence in &lt;A class="" href="http://support.microsoft.com/kb/928957" target=_blank mce_href="http://support.microsoft.com/kb/928957"&gt;Visual Studio 2005 SP1.&lt;/A&gt;&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;&lt;A href="http://support.microsoft.com/kb/928957"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;Recently, I had to automate the deployment of a WAP.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;To my surprise, there is not easy way to do it in a clean manner.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;Publish Wizard in Visual Studio 2005 is great : It copies only the necessary files.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;But How Achieve the same Results with Command Line Scripts ? No so straightforward.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx"&gt;Web Deployment Projects&lt;/A&gt; (WDP) were the immediate Answer.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;Unfortunately, have a limitation of WDP with WAP : the Deployed project contains useless file that should NOT appear in the published location; such as *.csproj, *.csproj.user, *.sln.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;Even if you loose the opportunity to precompile the site (remove code in aspx files), merge assemblies, (…) , it appeared to me as a better option not to use WDP.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; TEXT-DECORATION: underline"&gt;What is the solution then ?&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;The solution is to use a "Hidden" target of WebApplication Target.&lt;/P&gt;
&lt;P lang=en-US style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;The target file is located at : &lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;This file contains the definition of the Target available with WebApplication Project.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;_CopyWebApplication enables to copy the WebSite in specific location.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;Yet another limitation comes : referenced Dll within the WAP are not copies in the target Bin directory.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;A workaround is to &lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.75in; DIRECTION: ltr; FONT-FAMILY: Verdana; unicode-bidi: embed" type=1&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value=1&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Compile the site &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: 'Courier New'"&gt;msbuild WebApplication1.csproj /p:Configuration=Release&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.75in; DIRECTION: ltr; FONT-FAMILY: Verdana; unicode-bidi: embed" type=1&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Copy all assemblies in the target Bin directory&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: 'Courier New'"&gt;Robocopy.exe bin\ ..\_PublishedWebsites\WebApplication1\bin\ XF *.dll&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.75in; DIRECTION: ltr; FONT-FAMILY: Verdana; unicode-bidi: embed" type=1&gt;
&lt;LI style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle" value=3&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Call the _CopyWebApplication target&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: 'Courier New'"&gt;msbuild WebApplication1.csproj /target:_CopyWebApplication /property:OutDir=..\ /p:Configuration=Release&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.75in; FONT-FAMILY: Verdana" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana"&gt;You finaly end up with the compiled site, with all and only what you need.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1536373" width="1" height="1"&gt;</content><author><name>nmoreau</name><uri>http://blogs.msdn.com/members/nmoreau.aspx</uri></author></entry><entry><title>Structuring Solutions &amp; Projects in Team Foundation Server</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/nmoreau/archive/2006/04/13/576101.aspx" /><id>http://blogs.msdn.com/nmoreau/archive/2006/04/13/576101.aspx</id><published>2006-04-14T00:59:00Z</published><updated>2006-04-14T00:59:00Z</updated><content type="html">&amp;nbsp;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Team Foundation Server is a great Product.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;No matter how great it is, the same questions do arise on any large scale development project I face, with any SCM &amp;amp; Build tool :&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;How to manage dependencies between teams?&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;How to deal with versioning and versions dependencies ?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Here are some simple rules &amp;amp; trick that we found appropriate to use with TFS:&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=disc&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Dependencies within VS Projects in a Solution are “Project Dependencies”&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Dependencies between VS Projects within different Solutions within the same Team Project are Binaries Dependencies handled with an M:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Drive (subst) that points to a local Binary Repository.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=circle&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 2"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Build Configuration within a Team Project deal manually with the build order.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;Dependencies between Projects within different Team Projects are Binaries Dependencies (Same with M drive).&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Developers have an M: Drive mapped to a local copy of the repository.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Most dependencies reference the LATEST version (except in some cases where the explicitly reference a Released version ex : 1.0)&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Developers work with their local copy. When the version is stable, that can update their local Repo with a script from the repository (robocopy), an build again ( with the latest build assemblies).&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Comments on this are more than welcome.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=576101" width="1" height="1"&gt;</content><author><name>nmoreau</name><uri>http://blogs.msdn.com/members/nmoreau.aspx</uri></author></entry><entry><title>Calling WebServices from a VB6 Application</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/nmoreau/archive/2006/04/13/576100.aspx" /><id>http://blogs.msdn.com/nmoreau/archive/2006/04/13/576100.aspx</id><published>2006-04-14T00:56:00Z</published><updated>2006-04-14T00:56:00Z</updated><content type="html">&amp;nbsp;
&lt;P lang=EN-GB style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;I recently faced a situation in which a customer had to interoperate between a Visual Basic 6 application and existing WebServices. Interesting challenge, with many different options.&lt;/P&gt;
&lt;P lang=EN-GB style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P lang=EN-GB style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;The following direction were foreseen as follows :&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=1&gt;
&lt;LI lang=FR style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=1&gt;Use XMLHTTP an code SOAP call and serialization by hand&lt;/LI&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=2&gt;Using SOAP Toolkit : it is deprecated by the Framework .NET and support policy sticks to the issue of the Extended Support lasting until March 31, 2008 &lt;/LI&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=3&gt;Using .NET assemblies on the client called by VB6 components through COM Interop, thus leveraging the ability of .NET to easily deal with WebServices (Proxy generation, Serialization)&lt;/LI&gt;
&lt;LI style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=4&gt;&lt;SPAN lang=EN-GB&gt;Using Liquid XML &lt;/SPAN&gt;&lt;A href="http://www.liquid-technologies.com/default.aspx"&gt;&lt;SPAN lang=FR&gt;http://www.liquid-technologies.com/default.aspx&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P lang=FR style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;A solution that "mimics" VB6/COM world what VS &amp;amp; .NET do : class generation &amp;amp; handling serialization&lt;/P&gt;
&lt;P lang=FR style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P lang=EN-GB style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Finaly an interesting alternative was seen. The existing applicaiton was already using a COM+ middle tier. So the solution used was the following ; &lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=1&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 1" value=5&gt;Use a COM+ .NET Enterprise Services Middle tier component that &lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.5in; DIRECTION: ltr; unicode-bidi: embed" type=a&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 2" value=1&gt;Make the WebService call&lt;/LI&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 2" value=2&gt;Deserialize the objets into .NET Structs &lt;/LI&gt;
&lt;LI lang=EN-GB style="MARGIN-TOP: 0px; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0px; VERTICAL-ALIGN: middle; FONT-FAMILY: Verdana; mso-outline-level: 2" value=3&gt;Pass by value the objects back to the VB6 Client using DCOM, and marshalling the Struct byValue.&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P lang=FR style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;And it works !&lt;/P&gt;
&lt;P lang=FR style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P lang=EN-GB style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Interesting integration Pattern to reuse to call WebServices from a VB6 Application that cannot sustain .NET framework on the client station.&lt;/P&gt;
&lt;P lang=FR style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=576100" width="1" height="1"&gt;</content><author><name>nmoreau</name><uri>http://blogs.msdn.com/members/nmoreau.aspx</uri></author></entry></feed>