<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Web Development Tools @ Microsoft</title><link>http://blogs.msdn.com/b/webdevtools/</link><description>Your official information source from the web development tools group at Microsoft.</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><item><title>KB2650605 QFE : VS2010 sp1 VB web form editor may not become editable during debugging</title><link>http://blogs.msdn.com/b/webdevtools/archive/2012/01/31/kb2650605-qfe-vs2010-sp1-vb-web-form-editor-may-not-become-editable-during-debugging.aspx</link><pubDate>Tue, 31 Jan 2012 23:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262511</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10262511</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2012/01/31/kb2650605-qfe-vs2010-sp1-vb-web-form-editor-may-not-become-editable-during-debugging.aspx#comments</comments><description>&lt;p&gt;We recently released a VS2010 sp1 QFE &lt;a href="http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=40811"&gt;KB2650605&lt;/a&gt; to solve a VB editor debugging problem.&amp;nbsp; During VB web form debugging, VB web form may become un-editable if there are server tags inside.&amp;nbsp; If you develop and debug VB web forms, you might be interested to download this QFE.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=40811"&gt;http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=40811&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Xinyang Qiu&lt;/p&gt;
&lt;p&gt;Web Platforms and Tools Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262511" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Debugging/">Debugging</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/qfe/">qfe</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VB/">VB</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Vs2010+sp1/">Vs2010 sp1</category></item><item><title>JavaScript Reference group Dedicated Worker</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/30/javascript-reference-group-dedicated-worker.aspx</link><pubDate>Fri, 30 Sep 2011 19:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10218679</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10218679</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/30/javascript-reference-group-dedicated-worker.aspx#comments</comments><description>&lt;p&gt;Travis Leithead showed a video &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-379P"&gt;"Building responsive apps and sites with HTML5 web workers"&lt;/a&gt; in BUILD. When editing "Dedicated worker" JavaScript file in Visual Studio 11 Developer's Preview, we need to add the following line in the beginning of the file to get the proper JavaScript web walker IntelliSense in the editor:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: green;"&gt;/// &amp;lt;reference group="Dedicated Worker" /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;"Dedicated Worker" is a reference Group defined in the Tools-&amp;gt;Options-&amp;gt;Text Editor-&amp;gt;JavaScript-&amp;gt;IntelliSense-&amp;gt;References. It contains a JavaScript file which contains all the web walker JavaScript HTML5 objects.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5857.clip_5F00_image002_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6036.clip_5F00_image002_5F00_thumb.jpg" width="696" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can then see IntelliSense, such as importScripts:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0488.clip_5F00_image003_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0564.clip_5F00_image003_5F00_thumb.png" width="327" height="74" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, IntelliSense will be shown form the JavaScript files referenced via importScripts function as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3201.clip_5F00_image004_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3223.clip_5F00_image004_5F00_thumb.png" width="346" height="329" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Xinyang Qiu&lt;/p&gt;
&lt;p&gt;Web Platform and Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10218679" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/References/">References</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/javascript/">javascript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/HTML5/">HTML5</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category></item><item><title>Page Inspector for Visual Studio 11 Developer Preview</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/22/page-inspector-for-visual-studio-11-developer-preview.aspx</link><pubDate>Thu, 22 Sep 2011 20:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10215537</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10215537</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/22/page-inspector-for-visual-studio-11-developer-preview.aspx#comments</comments><description>&lt;p&gt;The upcoming version of Visual Studio introduces a number of improvements focused on diagnosing your Web Applications. One of these is the new Page Inspector.&lt;/p&gt;
&lt;p&gt;Page Inspector is a new tool that brings browser diagnostics tools into Visual Studio and provides an integrated experience between the browser, ASP.NET, and source code. Using Page Inspector, you can inspect elements in the integrated browser and see exactly which file and lines of code generated that element (HTML literal content and server-side code). It also comes with a DOM Visualizer and CSS Tools in which you can modify the properties and see the changes in the browser in real time.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Decomposing a Web Page (Source Code Selection Mapping)&lt;/h2&gt;
&lt;p&gt;Page Inspector provides an Inspect mode that you can toggle by clicking the &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7610.clip_5F00_image001_5F00_2.gif"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8688.clip_5F00_image001_5F00_thumb.gif" width="16" height="16" /&gt;&lt;/a&gt; icon. When Page Inspector is in Inspect mode, you can hold the mouse pointer over elements in the web page, and Page Inspector shows you the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Range selection in the source file that generated the HTML element (for non-dynamically generated elements).&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Visual feedback on the web page for the element.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Visual representation of the element in the page&amp;rsquo;s DOM tree.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;CSS properties for the element.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This gives you a complete picture of where in the source the HTML element was generated and what that element will look like in the live browser, instead of trying to figure out which file was responsible for rendering the markup. Inspection mode provides the easiest way to decompose and map from the browser to source files.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5280.clip_5F00_image002_5B00_5_5D00_.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002[5]" border="0" alt="clip_image002[5]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1067.clip_5F00_image002_5B00_5_5D005F00_thumb.jpg" width="672" height="526" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Selecting CSS Rules&lt;/h2&gt;
&lt;p&gt;Most browser tools provide a sandboxed environment for HTML and CSS where you can change values, and the browser automatically reflects the changes. However, the changes are not persisted and the original source files are unaffected.&lt;/p&gt;
&lt;p&gt;To bridge this gap, Page Inspector provides CSS mapping capabilities at the rule level. Clicking rules in the CSS tools grid opens the .css file in which the rule is defined and selects the complete rule. This makes it easy for you to get to where the rule is defined.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3225.clip_5F00_image003_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1665.clip_5F00_image003_5F00_thumb.jpg" width="273" height="146" /&gt;&lt;/a&gt;&amp;nbsp; -&amp;gt;&amp;nbsp; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6038.clip_5F00_image004_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0741.clip_5F00_image004_5F00_thumb.jpg" width="325" height="111" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Viewing Projects and Websites in Page Inspector&lt;/h2&gt;
&lt;p&gt;Page Inspector takes all the steps that are required in order to let you view the output of a Visual Studio web project (Web Application project or Web Site project). These steps can include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Building the project.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Starting IIS Express.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Navigating the Page Inspector browser to the site.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Any of the following actions launches Page Inspector:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clicking the Page Inspector Home button. This opens the Page Inspector browser and displays the project's root. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3718.clip_5F00_image005_5F00_2.jpg"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3302.clip_5F00_image005_5F00_thumb.jpg" width="50" height="31" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pressing Ctrl+K, Ctrl+G in the editor. This action opens the Page Inspector browser and displays the currently active document.&lt;/li&gt;
&lt;li&gt;In the editor, right-clicking a file and choosing View in Page Inspector. You can also use this command by right-clicking a file in Solution Explorer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4857.clip_5F00_image002_5B00_7_5D00_.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002[7]" border="0" alt="clip_image002[7]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7870.clip_5F00_image002_5B00_7_5D005F00_thumb.jpg" width="210" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Using the Files Pane to View Source Pages&lt;/h2&gt;
&lt;p&gt;You will be able to see a complete list of all the files that together compose the current web page. When you are working with a complex site, you can use this feature to visualize the files that were used for building a particular WebPage.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0160.clip_5F00_image007_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image007" border="0" alt="clip_image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0741.clip_5F00_image007_5F00_thumb.jpg" width="455" height="390" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Mapping Files to URLs&lt;/h2&gt;
&lt;p&gt;Routing lets you map URLs to files. However, there is no file-to-URL mapping. Today if you want to see a specific file in the browser, you often have to reverse-engineer the existing routes, and possibly try different route parameters, in order to cause the application to respond with the file you want to see.&lt;/p&gt;
&lt;p&gt;Page Inspector tries to construct a URL based on convention and navigate in the browser so that there is a one-to-one mapping between a file and a URL. There can be cases where the resulting routing will not result in the expected file or where invoking the View in Page Inspector command results in a file that shouldn&amp;rsquo;t be served (like a user control, partial view, or master page). In those cases, the tool still requires some level of URL mapping. Page Inspector will understand these cases and will prompt you to manually enter a URL (relative or absolute) that can be mapped to the requested file.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5444.clip_5F00_image008_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3884.clip_5F00_image008_5F00_thumb.jpg" width="455" height="32" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Updating the Page View in the Browser&lt;/h2&gt;
&lt;p&gt;Page Inspector is aware of all the different files that compose the current page, and it can detect when any of these files change. It alerts you whenever the current page in browser is not in sync with the source files.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8270.clip_5F00_image009_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image009" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5444.clip_5F00_image009_5F00_thumb.jpg" width="522" height="69" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The site might be out of sync for many reasons. For example, you might have changed page code, changed a code component in the site, or changed a .css, .js, or HTML file. Page Inspector alerts you when it detects a change, and you can click the bar or press Ctrl+Alt+Enter. Page Inspector then performs whatever actions are required (for example, rebuilding the project or restarting IIS Express) and shows you the latest version of the file.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Enabling Page Inspector&amp;rsquo;s selection mapping&lt;/h2&gt;
&lt;p&gt;To generate the metadata that's required for some of its features, Page Inspector must instrument the project by adding the following setting to the &amp;lt;appSetting&amp;gt; element in Web.config file:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: blue;"&gt; &amp;lt;&lt;/span&gt;&lt;span style="background: white; color: maroon;"&gt;add &lt;/span&gt;&lt;span style="background: white; color: red;"&gt;key&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;="VisualStudioDesignTime:Enabled" &lt;/span&gt;&lt;span style="background: white; color: red;"&gt;value&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;="true" /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;When Page Inspector needs to make this setting, you are prompted so that project files are not changed without your consent. (This is similar to the message you see if Visual Studio needs to set debug mode in the Web.config file.)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1727.clip_5F00_image010_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0245.clip_5F00_image010_5F00_thumb.jpg" width="478" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can use Page Inspector even with this setting disabled or missing. However, some features will not work, such as source selection mapping.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Known Issues&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Docking location. Page Inspector should be docked in the tool window areas of the document. If you dock it elsewhere, documents might open on top of the Page Inspector window.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6114.clip_5F00_image011_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image011" border="0" alt="clip_image011" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7288.clip_5F00_image011_5F00_thumb.jpg" width="194" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Page Inspector width is small when first launched.&lt;/strong&gt; This was done so that the default docking location is in the tool window area.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internet Explorer 9 is required.&lt;/strong&gt; The Page Inspector browser tools require Internet Explorer 9 or later to work correctly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ASP.NET WebPages 1 is not supported.&lt;/strong&gt; Currently, Web Pages 2 and Web Forms in ASP.NET 4.5 are the only view engines that are supported.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quirks mode not supported in Inspect mode.&lt;/strong&gt; Web pages in the browser must be displayed in Internet Explorer 9 standards mode. If Quirks mode or an older standards mode is used, the browser tools will not work correctly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backspace issues.&lt;/strong&gt; When the browser tools have focus, pressing Backspace might deactivate the tools. To fix this issue, refresh the browser or navigate to a different page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Download Page Inspector&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download through the Web Platform Installer&lt;/strong&gt; - &lt;a href="http://go.microsoft.com/fwlink/?LinkID=227946"&gt;http://go.microsoft.com/fwlink/?LinkID=227946&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Release Notes&lt;/strong&gt; - &lt;a href="http://go.microsoft.com/fwlink/?LinkID=227938"&gt;http://go.microsoft.com/fwlink/?LinkID=227938&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visual Studio 11 Developer Preview&lt;/strong&gt;: &lt;a href="http://msdn.microsoft.com/en-us/vstudio/hh127353"&gt;http://msdn.microsoft.com/en-us/vstudio/hh127353&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Software Requirements&lt;/h2&gt;
&lt;p&gt;Page Inspector Developer Preview requires the following software installed on your computer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The .NET Framework version 4.5&lt;/li&gt;
&lt;li&gt;Visual Studio 11 Developer Preview&lt;/li&gt;
&lt;li&gt;Internet Explorer 9 or later.&lt;/li&gt;
&lt;li&gt;Targetting WebForms or Razor v2&lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Feedback Needed&lt;/h2&gt;
&lt;p&gt;Page Inspector is still in its early stages and we would like to hear from you!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comments and suggestions can be added in the comments sections&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Feature requests can be logged in our &lt;a href="http://aspnet.uservoice.com"&gt;UserVoice&lt;/a&gt; website&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Jorge Gabuardi Gonzalez&lt;/p&gt;
&lt;p&gt;Web Platform and Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10215537" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Page+Inspector/">Page Inspector</category></item><item><title>New HTML Editor feature in Visual Studio 11 Developer Preview</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/20/new-html-editor-feature-in-visual-studio-11-developer-preview.aspx</link><pubDate>Tue, 20 Sep 2011 18:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10214206</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10214206</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/20/new-html-editor-feature-in-visual-studio-11-developer-preview.aspx#comments</comments><description>&lt;p&gt;Visual Studio 11 Developer Preview has many new HTML editor features, including the following:&lt;/p&gt;
&lt;p&gt;Scott Gu's Blog:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/html-editor-smart-tasks-and-event-handler-generation-asp-net-vnext-series.aspx"&gt;Source view smart task&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From &lt;a href="http://www.asp.net/vnext/whats-new/"&gt;ASP.NET 4.5 and Visual Studio 11 Developer Preview Whitepaper&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext/whats-new#_Toc303354492"&gt;WAI-ARIA support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext/whats-new#_Toc303354493"&gt;New HTML5 snippets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext/whats-new#_Toc303354499"&gt;Auto-reduce statement completion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext/whats-new#_Toc303354495"&gt;IntelliSense for code nuggets in attributes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext/whats-new#_Toc303354496"&gt;Automatic renaming of matching tag when you rename an opening or closing tag&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussed a little bit more here than in the whitepaper:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#smartindent"&gt;Smart indent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#serverevent"&gt;Event handler generation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#ExtractCodeToUserCtrl"&gt;Extract to user control&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a name="smartindent"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Smart indentation&lt;/h1&gt;
&lt;p&gt;The indentation of HTML elements has been tightened up so the cursor will always be placed the right place after hitting Enter when inside any empty HTML tag.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8322.clip_5F00_image001_5F00_2.png"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3146.clip_5F00_image001_5F00_thumb.png" width="123" height="36" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When the user hits Enter, the closing div tag is moved 2 lines down and indented correctly according to the opening tag. The cursor is also indented to enforce the hierarchical indentation of elements.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0871.clip_5F00_image002_5F00_2.png"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4604.clip_5F00_image002_5F00_thumb.png" width="72" height="76" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you don't like the cursor get indented below &amp;lt;div&amp;gt;, you can go to tools-&amp;gt;options-&amp;gt;Text Editor-&amp;gt;HTML-&amp;gt;Tabs and check "Block" instead of "Smart" for Indenting.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6242.clip_5F00_image003_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5756.clip_5F00_image003_5F00_thumb.png" width="456" height="268" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="serverevent"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Server side event handler generation&lt;/h1&gt;
&lt;p&gt;Creating event handlers for ASP.NET controls have gotten significantly easier in Visual Studio 11 Developer Preview. Developers no longer have to write the event handlers and hook them up manually, which saves a lot of time.&lt;/p&gt;
&lt;p&gt;IntelliSense for all server-side events now include a value called &amp;ldquo;&amp;lt;Create New Event&amp;gt;&amp;rdquo; which, as the name implies, will create an event handler with the right signature in the code-behind file.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7888.clip_5F00_image004_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8372.clip_5F00_image004_5F00_thumb.jpg" width="628" height="51" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It will name the event handler after the name specified in the ID attribute, so in this case, the following event handler is generated:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6215.clip_5F00_image005_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1018.clip_5F00_image005_5F00_thumb.jpg" width="628" height="25" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And this is the actual event handler added to the code-behind file:&lt;/p&gt;
&lt;p&gt;For C#:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;protected void &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;btnSave_Click(&lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;object &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;sender, &lt;/span&gt;&lt;span style="background: white; color: #2b91af;"&gt;EventArgs &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;e)&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt; { &lt;/span&gt;&lt;/pre&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt; }&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;For VB:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="background: white; color: black;"&gt; &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;Protected Sub &lt;/span&gt;&lt;span style="background: white; color: black;"&gt;btnSave_Click(sender &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;As Object&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;, e &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;As &lt;/span&gt;&lt;span style="background: white; color: #2b91af;"&gt;EventArgs&lt;/span&gt;&lt;span style="background: white; color: black;"&gt;) &lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="background: white; color: blue;"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8015.clip_5F00_image007_5F00_2.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="ExtractCodeToUserCtrl"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Extract Code to User Control&lt;/h1&gt;
&lt;p&gt;In big web documents it can sometimes be a good idea to separate out the individual pieces in their own user controls. This form of refactoring is known from programming languages and helps increase the readability and structure of a web page.&lt;/p&gt;
&lt;p&gt;The ability to extract any selected markup to its own user control has been added to Visual Studio 11 Developer Preview. Simply highlight the bits and pieces to extract and then right-click and click Extract to User Control.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4705.clip_5F00_image008_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0181.clip_5F00_image008_5F00_thumb.png" width="667" height="367" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You will be able to determine the path and name of the user control:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8407.clip_5F00_image009_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image009" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0640.clip_5F00_image009_5F00_thumb.png" width="562" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here's the final look after clicking OK:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4747.clip_5F00_image010_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8535.clip_5F00_image010_5F00_thumb.png" width="901" height="314" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note, for web application, you may need to build the project first before the green squiggle disappear from the generated control syntax.&lt;/p&gt;
&lt;p&gt;Enjoy with Visual Studio 11 Developer Preview!&lt;/p&gt;
&lt;p&gt;Web Platform and Tools team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10214206" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/extract+to+user+control/">extract to user control</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/smart+indent/">smart indent</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/HTML+editor/">HTML editor</category></item><item><title>New CSS editor features in Visual Studio 11 Developer Preview</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/16/new-css-editor-features-in-visual-studio-11-developer-preview.aspx</link><pubDate>Fri, 16 Sep 2011 22:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10212703</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10212703</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/16/new-css-editor-features-in-visual-studio-11-developer-preview.aspx#comments</comments><description>&lt;p&gt;The CSS Editor for Visual Studio 11 Developer Preview is a complete rewrite of the 2010 version, featuring excellent performance and stability. As soon as you start to edit a CSS file or a style block embedded in a web page, you'll feel the difference! CSS 3.0 has expanded the richness and complexity of style sheets considerably, and the new editor steps up to make the change not just manageable, but productive. Select the CSS 1.0, 2.1, or 3.0 schema to work with (default is 3.0) and start typing.&lt;/p&gt;
&lt;p&gt;The first thing you'll see is an overwhelming number of properties available, over 250. Even more appear if you start your property name with a "-", revealing all the vender-specific properties available:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2437.clip_5F00_image002_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8787.clip_5F00_image002_5F00_thumb.jpg" width="483" height="159" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While the list may look overwhelming, as soon as you begin to type the list is trimmed down to matching properties:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2425.clip_5F00_image003_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4162.clip_5F00_image003_5F00_thumb.png" width="320" height="188" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Even better, if you type the first character of each word separated by hyphens you get a super-shortcut to narrowing the list, so a property name like text-decoration-color can be selected by typing "tdc". When you type the colon, the full property name is inserted:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8304.clip_5F00_image004_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5460.clip_5F00_image004_5F00_thumb.png" width="484" height="72" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;...and in this case, the new Color Picker pops up. It includes a standard palette of colors, along with an MRU list of all the colors you've used in the document, with a pop-down detailed picker. Naturally, it supports standard color names, hash codes, rgb, rgba, hsl, and hsla colors:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6131.clip_5F00_image005_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6153.clip_5F00_image005_5F00_thumb.png" width="447" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The formatter now features hierarchical indentation of style specializations (which can be turned off in Tools/Options if you prefer.) This helps make copious CSS files much more readable:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7624.clip_5F00_image006_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8204.clip_5F00_image006_5F00_thumb.png" width="185" height="137" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that the last line the indentation is aware of CSS selector hacks, so if you have files that rely on them heavily, this feature does not become useless; they are ignored in the hierarchical ranking. If you haven't heard of them, Bing "CSS Hacks" or ignore them all together.&lt;/p&gt;
&lt;p&gt;It's not all about hacks, but CSS property hacks are fully honored as well. They get full IntelliSense support, and validation will be added in the next release as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2437.clip_5F00_image007_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image007" border="0" alt="clip_image007" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3007.clip_5F00_image007_5F00_thumb.png" width="377" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There's a lot more. The CSS editor is now a first-class Visual Studio Editor, so it supports Snippets, which are very handy in an environment where you need to specify four properties for a properly defined column-gap. Type cg &amp;lt;tab&amp;gt; &amp;lt;tab&amp;gt; and you get:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4578.clip_5F00_image008_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5148.clip_5F00_image008_5F00_thumb.png" width="204" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Type "8px" and &amp;lt;enter&amp;gt;, and each value is set to 8px and the cursor is in position for entering your next property.&lt;/p&gt;
&lt;p&gt;You now get automatic and manual outlining, so you can easily collapse every definition block, or create a region for a large block of definitions:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6237.clip_5F00_image009_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image009" border="0" alt="clip_image009" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7128.clip_5F00_image009_5F00_thumb.png" width="216" height="185" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can collapse regions as well as rules:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4064.clip_5F00_image010_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2821.clip_5F00_image010_5F00_thumb.png" width="133" height="28" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There's block commenting, where a block selection or a line can be easily commented out with a key binding:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6153.clip_5F00_image011_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image011" border="0" alt="clip_image011" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1348.clip_5F00_image011_5F00_thumb.png" width="418" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Execute Edit/Advanced/Comment Selection (Ctrl-K Ctrl-C) and:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8204.clip_5F00_image012_5F00_2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5141.clip_5F00_image012_5F00_thumb.png" width="446" height="90" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And there's still a lot more, like Smart Indent, higher-availability IntelliSense triggering, tooltips for all properties and values, and all the standard features you had in previous versions of CSS editing.&lt;/p&gt;
&lt;p&gt;The schemas and snippets are user-extensible. We're developing a system to deliver schema updates as Extensions managed by the built-in Extension Manager so that IntelliSense and validation will keep up with the fast-changing CSS 3.0 standards. And we're looking for your input. It's not too late to make changes and additions. What else would you like to see? How can we make your CSS editing experience even more productive? Give us your suggestions at &lt;a href="http://aspnet.uservoice.com"&gt;http://aspnet.uservoice.com&lt;/a&gt; and &lt;a href="http://forums.asp.net/1239.aspx"&gt;Forum: ASP.NET 4.5 Developer Preview and Visual Studio 11 Developer Preview&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Van Kichline, VWD Test Team&lt;/p&gt;
&lt;p&gt;Peter Spada, VWD Dev Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10212703" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/CSS/">CSS</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/CSS3/">CSS3</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category></item><item><title>New JavaScript editing features for Web development in Visual Studio 11 Developer Preview</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/15/new-javascript-editing-features-for-web-development-in-visual-studio-11-developer-preview.aspx</link><pubDate>Thu, 15 Sep 2011 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10211953</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10211953</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/15/new-javascript-editing-features-for-web-development-in-visual-studio-11-developer-preview.aspx#comments</comments><description>&lt;p&gt;Visual Studio 11 Developer Preview has the JavaScript design time engine rewritten, sharing base with IE's JavaScript engine. It has faster performance and better memory footprint.&lt;/p&gt;
&lt;p&gt;The list below shows some new feature and changes comparing with Visual Studio 2010 for Web development scenarios. All feedbacks are welcomed as it's our passion to make JavaScript developing experience as pleasant, reliable and efficient as other languages.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;IntelliSense&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;ECMAScript 5 compliance&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes. Visual Studio 11 Developer Preview fully supports ECMAScript 5.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8053.clip_5F00_image002_5F00_2.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3755.clip_5F00_image002_5F00_thumb.jpg" width="244" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Auto-reducing Statement Completion List&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes, if the IntelliSense is automatically enabled when typing.&lt;/p&gt;
&lt;p&gt;The following screen shots shows all the document's statement completion items that contains character "al":&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8468.clip_5F00_image003_5B00_4_5D00_.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image003[4]" border="0" alt="clip_image003[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8867.clip_5F00_image003_5B00_4_5D005F00_thumb.png" width="244" height="137" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Completion Hint shows function signature&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes, making completion hint more helpful.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1033.clip_5F00_image007_5B00_5_5D00_.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image007[5]" border="0" alt="clip_image007[5]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6332.clip_5F00_image007_5B00_5_5D005F00_thumb.jpg" width="304" height="69" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;IE DOM IntelliSense&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No, change DOM based on the current schema and is hard to upgrade.&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes, will get IntelliSense from IE10's DOM, which is implicitly referenced.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Implicit references (js file that is always referenced for editor IntelliSense)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes, through tools-&amp;gt;option-&amp;gt;Text Editor-&amp;gt;JavaScript-&amp;gt;IntelliSense-&amp;gt;References, "implicit" reference group.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Immediate feedback on undefined objects (statement completion invoked on an undefined object shows a list of all identifiers in the file)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes, we call it identifier list, which should be helpful in many cases.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0842.image_5F00_6.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0028.image_5F00_thumb_5F00_2.png" width="244" height="79" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Ctrl+Shift+J to rebuild IntelliSense&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;IntelliSense is now automatically rebuild.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;named function expressions&lt;/p&gt;
&lt;p&gt;var a = function namedFunc() {&lt;/p&gt;
&lt;p&gt;//position 1&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;//position 2&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Show IntelliSense in both position1 and position2 due to inaccuracy of the engine.&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Better engine accuracy, only showing IntelliSense in position 2.&lt;/p&gt;
&lt;p&gt;The distinction is that named function expressions identifiers are only visible within the scope of the function expression itself.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="214"&gt;
&lt;p&gt;Script Loader dynamically add loaded JavaScript file as reference&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="520"&gt;
&lt;p&gt;Yes. Engine load the dynamically loaded JavaScripts for reference.&lt;/p&gt;
&lt;p&gt;The following is a screen shot of the IntelliSense using &lt;a href="https://github.com/BorisMoore/JsDefer"&gt;jsdefer&lt;/a&gt; library.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7888.image_5F00_4.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8358.image_5F00_thumb_5F00_1.png" width="244" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;XML Document&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="178"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="100"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="503"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="178"&gt;
&lt;p&gt;IntelliSense Signature overloading&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="100"&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="503"&gt;
&lt;p&gt;New feature&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2514.clip_5F00_image013_5B00_4_5D00_.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image013[4]" border="0" alt="clip_image013[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8865.clip_5F00_image013_5B00_4_5D005F00_thumb.jpg" width="244" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Debug/Breakpoint&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="226"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="161"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="495"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="226"&gt;
&lt;p&gt;F9 set on a line with multiple statement&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="161"&gt;
&lt;p&gt;Select and break on whole line&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="495"&gt;
&lt;p&gt;Select and break on the statement where cursor is on, making debugging compressed JavaScript files possible.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="226"&gt;
&lt;p&gt;Open remote extension-less JS files in JS editor&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="161"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="495"&gt;
&lt;p&gt;Yes, debug the following will open jsapi in editor :&lt;/p&gt;
&lt;p&gt;&amp;lt;script src="https://www.google.com/jsapi" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;
&lt;p&gt;google.load("jquery", "1.6.0");&lt;/p&gt;
&lt;p&gt;&amp;lt;/script&amp;gt; )&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;MicrosoftAjax.js and other library Support&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="224"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="563"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="224"&gt;
&lt;p&gt;MicrosoftAjax's IntelliSense filter, glyph and other support&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;Hard coded&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="563"&gt;
&lt;p&gt;Supported via MicrosoftAjax.vsextensions.js file, which is located in [ProgramFiles]\Microsoft Visual Studio 11.0\JavaScript\References\MicrosoftAjax.vsextensions.js&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="224"&gt;
&lt;p&gt;IntelliSense Extensibility for other JavaScript documents&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="96"&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="563"&gt;
&lt;p&gt;Users can write JavaScript VS IntelliSense Extension file and place it in the same directory as the original JavaScript file.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Editor display&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="231"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="299"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Outlining&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="231"&gt;
&lt;p&gt;Through extension&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="299"&gt;
&lt;p&gt;Supported&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Brace matching&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="231"&gt;
&lt;p&gt;Through extension&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="299"&gt;
&lt;p&gt;Supported&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Brace highlighting&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="231"&gt;
&lt;p&gt;Through extension&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="299"&gt;
&lt;p&gt;Supported&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="149"&gt;
&lt;p&gt;Go to Definition (F12)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="231"&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="299"&gt;
&lt;p&gt;Supported&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Validation&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="265"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="181"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="437"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="265"&gt;
&lt;p&gt;Regular expression&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="181"&gt;
&lt;p&gt;No color coding, no validation&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="437"&gt;
&lt;p&gt;With color coding and validation&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="265"&gt;
&lt;p&gt;"use strict"; validation support (ECMAScript 5)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="181"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="437"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="265"&gt;
&lt;p&gt;Consistency with IE JavaScript syntax checking&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="181"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="437"&gt;
&lt;p&gt;Yes, the JavaScript syntax error you see in VS will be the same as you see in IE.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Misc&lt;/b&gt;&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;&lt;b&gt;VS2010 Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;&lt;b&gt;Visual Studio 11 Developer Preview&lt;/b&gt; &lt;b&gt;Behavior&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;jQuery Templates script block support, show IntelliSense, coloring and indent.&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4667.clip_5F00_image015_5B00_4_5D00_.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="clip_image015[4]" border="0" alt="clip_image015[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6305.clip_5F00_image015_5B00_4_5D005F00_thumb.jpg" width="244" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;Sharepoint JS reference via src="http://blogs.msdn.com/SiteAssets/xxx.js"&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;p&gt;&amp;lt;script type="text/javascript" src="http://blogs.msdn.com/SiteAssets/jquery-1.4.1.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;Dom Explorer&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;Supported when debugging with IE10 only&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;JavaScript Console&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;No&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;Supported when debugging with IE10 only&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;Customized JavaScript Snippet&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;Yes&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;Yes.&lt;/p&gt;
&lt;p&gt;Note, VS2010 customer snippet file is not compatible with Visual Studio 11 Developer Preview. An attribute needs to be changed in each snippet file from "jscript" to "JavaScript"&lt;/p&gt;
&lt;p&gt;&amp;lt;Code Language="jscript"&amp;gt;&lt;/p&gt;
&lt;p&gt;... &amp;lt;/Code&amp;gt;&lt;/p&gt;
&lt;p&gt;Change to&lt;/p&gt;
&lt;p&gt;&amp;lt;Code Language="JavaScript"&amp;gt;&lt;/p&gt;
&lt;p&gt;... &amp;lt;/Code&amp;gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="192"&gt;
&lt;p&gt;Name across product&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="82"&gt;
&lt;p&gt;Jscript&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="609"&gt;
&lt;p&gt;JavaScript&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We will have more JavaScript editing features before the next release of Visual Studio 11. If you have any suggestions or feedbacks, please do let us know. The feedbacks always help to priorities our feature implementation and bug fixes.&lt;/p&gt;
&lt;p&gt;Thanks for supporting!&lt;/p&gt;
&lt;p&gt;Xinyang Qiu&lt;/p&gt;
&lt;p&gt;SDET&lt;/p&gt;
&lt;p&gt;Azure Platform Application and Tools team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10211953" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/javascript/">javascript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category></item><item><title>New Features for Web Development in Visual Studio 11 Developer Preview</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/09/14/new-features-for-web-development-in-visual-studio-11-developer-preview.aspx</link><pubDate>Thu, 15 Sep 2011 01:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10211351</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10211351</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/09/14/new-features-for-web-development-in-visual-studio-11-developer-preview.aspx#comments</comments><description>&lt;p&gt;The public release of Visual Studio 11 Developer Preview is now available and can be downloaded. Please visit &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2011/09/14/announcing-visual-studio-11-developer-preview.aspx"&gt;Jason Zander's Blog&lt;/a&gt; for the download links and overview of the new features.&lt;/p&gt;
&lt;p&gt;We have many great features in the preview. We'll discuss some of them in the future blogs. Scott Guthrie has a blog "&lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/asp-net-vnext-series.aspx"&gt;ASP.NET vNext Series&lt;/a&gt;' which links to the detail of many ASP.NET 4.5 features.&lt;/p&gt;
&lt;p&gt;Here is a few features included in the Visual Studio 11 Developer Preview:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; editor is rewritten, and is now based on IE10's JavaScript engine. Many new features are added for the JavaScript editor to support it as a first class citizen programming language, such as go to definition, outlining, brace matching, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New CSS editor&lt;/strong&gt; functionalities include new formatter, validator, snippets, color picker, comment support, hierarchical indentation, vendor specific IntelliSense.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New HTML&lt;/strong&gt; &lt;strong&gt;editor&lt;/strong&gt; functionalities include &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/html-editor-smart-tasks-and-event-handler-generation-asp-net-vnext-series.aspx"&gt;source view smart task&lt;/a&gt;, better auto indentation, end-tag matching when editing start-tag, server side event handler generation, extract to user control and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IIS Express&lt;/strong&gt; is now the default website and web application host instead of ASP.NET Development Server (i.e. cassini).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LocalDB&lt;/strong&gt; is the default database for Visual Studio 11 Developer Preview. LocalDB uses the same database engine as other &lt;a href="http://www.microsoft.com/sqlserver/en/us/default.aspx"&gt;SQL server code name "Denali" CTP3&lt;/a&gt; (like Express, Standard and Enterprise), so it supports expected SQL functionality like tables, stored procedures, etc.&amp;nbsp; LocalDB is sandboxed so one user's interactions do not affect other users.&amp;nbsp; LocalDB also makes it easy for developers to create and work with multiple SQL instances.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL Server Database Projects&lt;/strong&gt; - Visual Studio offers a new project type that makes it easy for developers to build and deploy their SQL Server databases.&amp;nbsp; Developers can quickly and easily add tables, stored procedures, scripts etc. to their SQL Server project and the structures are stored as SQL scripts, which makes it easy to manage the history of the database via source code control and make it easy to deploy the database to SQL Server instances from Express to Azure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publishing&lt;/strong&gt; for Web Application Projects (WAP) have been updated. Publishing profiles are now designed for team scenarios and are stored into a separate folder, allowing proper version control and usage from MSBuild/Team Build. You can configure your WAP to be precompiled/merged before publishing on the Package/Publish Web tab under the Project Properties.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here's more resources to help you start coding:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=217619"&gt;Visual Studio 11 Developer Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=228707"&gt;.NET Framework 4.5 Developer Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/vnext"&gt;http://www.asp.net/vnext&lt;/a&gt; , where you can learn all the upcoming features in asp.net vnext&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please note we are shipping some features through Web Platform Installer, such as MVC next and page inspector showed by Scott in BUILD. Please check back on our blog and &lt;a href="http://weblogs.asp.net/scottgu/"&gt;scottgu's blog&lt;/a&gt; for announcement.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please also note developer preview features may get changed between now and Beta time.&amp;nbsp; Feedbacks are always welcome, you can use &lt;a title=" http://forums.asp.net/1239.aspx" href="http://forums.asp.net/1239.aspx"&gt;asp.net forum&lt;/a&gt;&amp;nbsp;to provide feedbacks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Web Platform and Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10211351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+11+Developer+Preview/">Visual Studio 11 Developer Preview</category></item><item><title>Running ASP.NET MVC 3 Applications on Azure</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/08/11/running-asp-net-mvc-3-applications-on-azure.aspx</link><pubDate>Thu, 11 Aug 2011 14:20:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10194856</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10194856</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/08/11/running-asp-net-mvc-3-applications-on-azure.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Microsoft recently released the &lt;/font&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=156784"&gt;&lt;font size="2"&gt;Windows Azure Tools for Microsoft Visual Studio 2010 1.4 (August 2011)&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; update which includes a new ASP.NET MVC 3 Web Role project template which makes it easier to deploy an MVC 3 application to Azure. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Let’s walk through this process end-to-end.      &lt;br /&gt;&lt;/font&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;u&gt;Step 1 – Install the tools&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div&gt;&lt;font size="2"&gt;Install the &lt;/font&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=156784"&gt;&lt;font size="2"&gt;Windows Azure Tools&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; via WebPI. This will also install any dependencies that are missing. &lt;/font&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt; &lt;strong&gt;   &lt;p&gt;     &lt;br /&gt;&lt;font size="3"&gt;&lt;u&gt;Step 2 – Create and run the application (locally)&lt;/u&gt;&lt;/font&gt;&lt;/p&gt; &lt;/strong&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;Launch Visual Studio &lt;strong&gt;&lt;u&gt;&lt;font color="#000000"&gt;as an administrator&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;.&lt;strong&gt; &lt;/strong&gt;The Azure storage emulator requires administrator privileges.         &lt;br /&gt;        &lt;br /&gt;Create a new Windows Azure Project (look under Cloud templates).&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5265.NewCloudProject_5F00_2FF3D2BF.png"&gt;&lt;img style="background-image: none; border-right-width: 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="NewCloudProject" border="0" alt="NewCloudProject" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4682.NewCloudProject_5F00_thumb_5F00_5ACC36D1.png" width="803" height="595" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the next dialog, we see the new ASP.NET MVC 3 Web Role project type. Double click on it to add it to the Windows Azure solution. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0317.NewMvcWebRole_5F00_2F2DAE63.png"&gt;&lt;img style="background-image: none; border-right-width: 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="NewMvcWebRole" border="0" alt="NewMvcWebRole" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0207.NewMvcWebRole_5F00_thumb_5F00_1CE4E7A1.png" width="642" height="402" /&gt;&lt;/a&gt;       &lt;br /&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click OK.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Next, choose the Internet project template.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Now take a look at the application’s Web.config file. Notice that the default providers (e.g., Membership, Roles, etc.) are configured to be the new &lt;/font&gt;&lt;a href="http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx"&gt;&lt;font size="2"&gt;Universal Providers&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; which work with SQL Azure. These providers are pre-installed in the project template via a NuGet package. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5353.NewProviders_5F00_4883700F.png"&gt;&lt;img style="background-image: none; border-right-width: 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="NewProviders" border="0" alt="NewProviders" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2438.NewProviders_5F00_thumb_5F00_28686352.png" width="702" height="163" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Run the application. Notice that the Azure Emulator for Compute and Storage spins up. There’s a task tray icon for this. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;u&gt;Step 3 – Create an Azure Hosted Service&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;If you don’t already have an Azure account, &lt;/font&gt;&lt;a href="http://www.microsoft.com/windowsazure/"&gt;&lt;font size="2"&gt;sign-up&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; for one.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Once the account is set up, log in to the &lt;/font&gt;&lt;a href="https://windows.azure.com/default.aspx"&gt;&lt;font size="2"&gt;Azure Management Portal&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. The screenshots that follow use the Silverlight based UI for the portal. If Silverlight is not installed on your machine, you’ll be prompted to install it.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Create a new Hosted Service.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1452.AzureNewHostedService_5F00_363AA94D.png"&gt;&lt;img style="background-image: none; border-right-width: 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="AzureNewHostedService" border="0" alt="AzureNewHostedService" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7713.AzureNewHostedService_5F00_thumb_5F00_1A29EA62.png" width="709" height="566" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Give the new hosted service a name, a URL prefix and pick a “region” for the Hosted Service.        &lt;br /&gt;        &lt;br /&gt;In “Deployment options”, choose “Do not deploy” since we don’t have an Azure package for our MVC application ready to deploy yet. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;img style="background-image: none; border-right-width: 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="CreateHostedService" border="0" alt="CreateHostedService" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2867.CreateHostedService_5F00_thumb_5F00_0310B172.png" width="542" height="635" /&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click OK and Azure will now create a new Hosted Service.&lt;strong&gt;&lt;/strong&gt;         &lt;br /&gt;&lt;/font&gt;      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;u&gt;Step 4 – Create a SQL Azure database&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;The database connection string used in the MVC application currently targets SQL Express. Since SQL Express is not supported by Azure, we need to create a SQL Azure database to target.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the &lt;/font&gt;&lt;a href="https://windows.azure.com/default.aspx"&gt;&lt;font size="2"&gt;Azure Management Portal&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, select “Database” in the lower left hand corner of the screen, and then “Create a new SQL Azure Database”.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4276.ConfigureSqlAzure_5F00_6EE5535A.png"&gt;&lt;img style="background-image: none; border-right-width: 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="ConfigureSqlAzure" border="0" alt="ConfigureSqlAzure" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3603.ConfigureSqlAzure_5F00_thumb_5F00_278FFD68.png" width="748" height="867" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the next dialog, select your “Subscription” and set the “Server” to be “New server”. Click “Next”. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3343.CreateNewDatabase_5F00_0E5A979F.png"&gt;&lt;img style="background-image: none; border-right-width: 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="CreateNewDatabase" border="0" alt="CreateNewDatabase" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3365.CreateNewDatabase_5F00_thumb_5F00_594E086E.png" width="545" height="492" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Then, pick a “Region” to host the SQL Azure Server. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4846.SqlAzureServerRegion_5F00_150DA122.png"&gt;&lt;img style="background-image: none; border-right-width: 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="SqlAzureServerRegion" border="0" alt="SqlAzureServerRegion" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5516.SqlAzureServerRegion_5F00_thumb_5F00_600111F1.png" width="578" height="490" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Configure the SQL Azure server admin credentials. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8244.SqlAzureServerCredentials_5F00_6DD357EC.png"&gt;&lt;img style="background-image: none; border-right-width: 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="SqlAzureServerCredentials" border="0" alt="SqlAzureServerCredentials" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7266.SqlAzureServerCredentials_5F00_thumb_5F00_14A16E2D.png" width="578" height="490" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the next dialog, we configure firewall rules.&amp;#160; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;Select the option to allow other Azure services to access this server. This will allow the MVC application to connect to this SQL server by adding a firewall rule.&amp;#160; &lt;br /&gt;&lt;/font&gt;        &lt;br /&gt;If we wanted to connect to this SQL Azure database from our local machine, an additional firewall rule for the local machine’s IP address could be added as well. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1803.ConfigureSqlAzureAllowConnectivity_5F00_t_5F00_7890AF41.png"&gt;&lt;img style="background-image: none; border-right-width: 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="ConfigureSqlAzureAllowConnectivity_t" border="0" alt="ConfigureSqlAzureAllowConnectivity_t" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4540.ConfigureSqlAzureAllowConnectivity_5F00_t_5F00_thumb_5F00_1F5EC582.png" width="461" height="394" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Next, enter the “Database name”. The default “Edition” and “Maximum size” values are fine for this walkthrough. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4682.CreateSqlAzureDatabase_5F00_6759E3ED.png"&gt;&lt;img style="background-image: none; border-right-width: 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="CreateSqlAzureDatabase" border="0" alt="CreateSqlAzureDatabase" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4572.CreateSqlAzureDatabase_5F00_thumb_5F00_793677BA.png" width="544" height="491" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click Finish.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;We now have an SQL Azure database. Now we the connection string.        &lt;br /&gt;        &lt;br /&gt;Click on the database name and then the “View …” button under “Connection Strings” on the right hand side of the screen.         &lt;br /&gt;        &lt;br /&gt;Note – I’ve seen the “Properties” pane on the right hand side of the screen disappear at times. Usually it happens when I toggle back and forth between the “Host Services” view and the “Database” view. One way to get it back is to log out of the portal and then log back in.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1452.ViewConnectionStrings_5F00_thumb1_5F00_20048DFB.png"&gt;&lt;img style="background-image: none; border-right-width: 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="ViewConnectionStrings_thumb1" border="0" alt="ViewConnectionStrings_thumb1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8321.ViewConnectionStrings_5F00_thumb1_5F00_thumb_5F00_78CA44C5.png" width="750" height="525" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;This will display a dialog with a collection of different connection strings for the database. Make a copy of the ADO.Net connection string. We’ll need this in the next step.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2451.SqlAzureConnectionStringDetails_5F00_47046FBC.png"&gt;&lt;img style="background-image: none; border-right-width: 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="SqlAzureConnectionStringDetails" border="0" alt="SqlAzureConnectionStringDetails" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2474.SqlAzureConnectionStringDetails_5F00_thumb_5F00_11F7E08C.png" width="497" height="347" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;u&gt;Step 5 – Package the application for Azure deployment&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;Before we package the MVC application for Azure deployment, we need to update the database connection string to target our SQL Azure database.        &lt;br /&gt;        &lt;br /&gt;Open the Web.config file and set the connection string appropriately and make two following changes: &lt;/font&gt;      &lt;ul&gt;       &lt;li&gt;&lt;font size="2"&gt;Set the password for the database login which was configured previously.&lt;/font&gt; &lt;/li&gt;        &lt;li&gt;&lt;font color="#000000" size="2"&gt;Add “&lt;em&gt;MultipleActiveResultSets=True&lt;/em&gt;” to the connection string. This setting is required by the Universal Providers used in the MVC 3 application. &lt;/font&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0451.SqlAzureConnectionString_5F00_4C30190B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 0px 40px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SqlAzureConnectionString" border="0" alt="SqlAzureConnectionString" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8473.SqlAzureConnectionString_5F00_thumb_5F00_10044D63.png" width="714" height="107" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000" size="2"&gt;*** WARNING – Storing your connection string in your Web.config file in plaintext is not recommended for security reasons. I’ve only done this here to keep this walkthrough simple.&amp;#160; Please take the appropriate measures to ensure your connection string information is safely stored. ***&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;Now we’re ready to package our application for Azure deployment.        &lt;br /&gt;        &lt;br /&gt;Right click on the Azure project in Solution Explorer. There are two ways to get our application published to Azure. There’s a direct “Publish” option and another “Package” option. For this walkthrough we’ll go with the simpler “Package” option as it doesn’t require configuring Visual Studio with additional Azure login credentials.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5428.PackageAzureApp_5F00_267D300A.png"&gt;&lt;img style="background-image: none; border-right-width: 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="PackageAzureApp" border="0" alt="PackageAzureApp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6180.PackageAzureApp_5F00_thumb_5F00_7170A0D9.png" width="287" height="285" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the package dialog, select “Cloud” as the service configuration and “Release” as the build configuration.        &lt;br /&gt;        &lt;br /&gt;If we had build specific configuration files (e.g., Web.config transform files), we could choose the appropriate build configuration to package here. &lt;/font&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7651.PackageDialog_5F00_thumb5_5F00_7F42E6D4.png"&gt;       &lt;br /&gt;        &lt;br /&gt;&lt;img style="background-image: none; border-right-width: 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="PackageDialog_thumb5" border="0" alt="PackageDialog_thumb5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3858.PackageDialog_5F00_thumb5_5F00_thumb_5F00_5F27DA17.png" width="335" height="178" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click Package.        &lt;br /&gt;        &lt;br /&gt;The Azure service package and Cloud configuration files will be created and a Windows Explorer window will open up to the folder where the files have been created. Make a note of this directory location. We’ll need it later to find the package to deploy to Azure. &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;u&gt;Step 6 – Deploy the package on Azure&lt;/u&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="2"&gt;Return to the &lt;/font&gt;&lt;a href="https://windows.azure.com/default.aspx"&gt;&lt;font size="2"&gt;Azure Management Portal&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, select the Hosted Service previously created and then select “New Production Deployment”. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6505.NewProductionDeployment_5F00_thumb1_5F00_58089D9F.png"&gt;&lt;img style="background-image: none; border-right-width: 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="NewProductionDeployment_thumb1" border="0" alt="NewProductionDeployment_thumb1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1881.NewProductionDeployment_5F00_thumb1_5F00_thumb_5F00_7ED6B3DF.png" width="466" height="349" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;In the next dialog, name the deployment and then browse locally and select the Azure service package and the Cloud configuration file previously created. &lt;/font&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7288.DeployPackage_5F00_thumb1_5F00_77B77767.png"&gt;&lt;img style="background-image: none; border-right-width: 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="DeployPackage_thumb1" border="0" alt="DeployPackage_thumb1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2474.DeployPackage_5F00_thumb1_5F00_thumb_5F00_0589BD63.png" width="545" height="384" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click OK.        &lt;br /&gt;        &lt;br /&gt;A warning dialog will pop up stating there’s only one instance configured for this deployment. Ignore this for now. For real world application deployment, we would likely want multiple instances to ensure high availability for the site.         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Now wait (ranges between 5 – 15 minutes based on my experience) while the Azure Web Role machine is created. If all has gone well, we’ll see a new “instance” of the application with a status of “Ready”.        &lt;br /&gt;        &lt;br /&gt;To find the URL of the site, click on the deployment in the tree and find “DNS name” in the “Properties” pane on the right hand side of the screen.&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7823.AzureAppDeployed_5F00_3F4734CE.png"&gt;&lt;img style="background-image: none; border-right-width: 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="AzureAppDeployed" border="0" alt="AzureAppDeployed" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/8802.AzureAppDeployed_5F00_thumb_5F00_14029DC7.png" width="786" height="613" /&gt;&lt;/a&gt;       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;Click on the “DNS name” to browse to the site.        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="2"&gt;That’s it. We’re now up and running on Azure! &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font size="2"&gt;Hope this helps.      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.testingtoasters.com"&gt;&lt;font size="2"&gt;Mark Berryman&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10194856" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET+MVC/">ASP.NET MVC</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET+MVC3/">ASP.NET MVC3</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Azure/">Azure</category></item><item><title>Web Standards Update for Visual Studio 2010 SP1</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/06/15/web-standards-update-for-visual-studio-2010-sp1.aspx</link><pubDate>Wed, 15 Jun 2011 20:52:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10175024</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10175024</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/06/15/web-standards-update-for-visual-studio-2010-sp1.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We are pleased to announce the first &lt;a href="http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83" target="_blank"&gt;Web Standards Update for Visual Studio SP1&lt;/a&gt;. It updates the HTML5 intellisense and validation to reflect the latest W3C specifications and fixes some bugs bugs in the current SP1 support for HTML5. Also JavaScript intellisense it updated to reflect many of the new browser capabilities such as Geolocation and DOM storage. Finally, this update adds comprehensive CSS3 intellisense and validation based on the latest specifications from W3C.&lt;/p&gt;  &lt;p&gt;As the HTML5 and CSS3 specifications mature we will make updates available accordingly to ensure that ASP.NET web developers always have the latest standards to work with. This is at the same time an invitation to report any bugs or features you would like to see in future updates. Please write a comment with any bugs or suggestions.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This release has been made possible by the hard work of some of our team members in their spare time and isn’t an official Microsoft release. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Now let’s take a look at some of the features. &lt;/p&gt;  &lt;h2&gt;HTML 5&lt;/h2&gt;  &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt; &lt;strong&gt;WAI-ARIA&lt;/strong&gt;   &lt;p&gt;The &lt;a href="http://www.w3.org/WAI/intro/aria" target="_blank"&gt;WAI-ARIA standard&lt;/a&gt; enables web developers to make their websites more accessible to e.g. screen readers. This update contains a rather comprehensive support for WAI-ARIA by adding all the &lt;em&gt;aria-*&lt;/em&gt; attributes along with new intellisense for the &lt;em&gt;role&lt;/em&gt; attribute.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6740.image_5F00_01EEB8BE.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2744.image_5F00_thumb_5F00_4EB27F54.png" width="283" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The &lt;em&gt;aria-*&lt;/em&gt; attributes shows up in the intellisense list as well as the values.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0601.image_5F00_7B379B3B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1261.image_5F00_thumb_5F00_0909E137.png" width="250" height="207" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7127.image_5F00_3B0181C1.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5074.image_5F00_thumb_5F00_48D3C7BC.png" width="301" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microdata&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;HTML 5 has an additional way of adding meaning to the markup called &lt;a href="http://www.w3.org/TR/microdata/" target="_blank"&gt;Microdata&lt;/a&gt;. This allows web developers to mark different elements with meta data that is readable by e.g. search engines. &lt;a href="http://googlewebmastercentral.blogspot.com/2011/06/introducing-schemaorg-search-engines.html" target="_blank"&gt;Bing, Google and Yahoo are all supporting Microdata&lt;/a&gt; and more specifically the schema.org vocabularies. This update will therefore add intellisense to the most popular vocabularies including &lt;a href="http://schema.org" target="_blank"&gt;schema.org&lt;/a&gt; and &lt;a href="http://data-vocabulary.org" target="_blank"&gt;data-vocabulary.org&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6545.image_5F00_7ACB6846.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0272.image_5F00_thumb_5F00_089DAE42.png" width="559" height="212" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are interested in search engine optimization you might find this Microdata support particularly useful. &lt;/p&gt;  &lt;h2&gt;CSS 3&lt;/h2&gt;  &lt;p&gt;If you don’t get intellisense after installing the update, you might have to select the CSS 3.0 schema manually on the &lt;em&gt;Style Sheet&lt;/em&gt; toolbar.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/3733.image_5F00_2F6BC482.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1680.image_5F00_thumb_5F00_0F50B7C5.png" width="172" height="126" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Multi-columns&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It is much easier to read lines of text that aren’t too long. Newspapers have always kept their columns rather narrow and with CSS 3 this becomes possible very easily on websites as well. This update brings full intellisense for both properties names and values for multiple columns. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7446.image_5F00_6F35AB07.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1665.image_5F00_thumb_5F00_3A291BD7.png" width="267" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more info on multi-columns, check out this introduction to to the &lt;a href="http://www.alistapart.com/articles/css3multicolumn/" target="_blank"&gt;CSS3 Multi-Column Module&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Border-radius&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There is no way around this. It’s impossible to talk about CSS3 without giving The Rounded Corners™ example because it is the quintessential CSS3 feature. The CSS3 support brought by this update does of course contain full support for rounded corners aka. border-radius.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0677.image_5F00_1A0E0F1A.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/0601.image_5F00_thumb_5F00_55CDA7CD.png" width="283" height="251" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Animation, transitions and transforms&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;CSS3 introduces some new and features that could seem a little complicated to learn. With both validation and intellisense to guide you through all these new features, it has never been easier to explore what CSS3 has to offer.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6557.image_5F00_4EAE6B55.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7127.image_5F00_thumb_5F00_00A60BE0.png" width="414" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;JavaScript&lt;/h2&gt;  &lt;p&gt;The update to JavaScript is very comprehensive. You will immediately start noticing a lot more values in the intellisense. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Geolocation&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the most talked about features of modern web browsers is their location awareness. In JavaScript you can hook into this knowledge by using the geolocation API. This is also supported in all newer browsers.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5074.image_5F00_7986CF67.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6545.image_5F00_thumb_5F00_596BC2AA.png" width="464" height="98" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DOM storage&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Using the DOM storage mechanisms you can eliminate the need for cookies to persist user data and settings. Both &lt;em&gt;localStorage&lt;/em&gt; and &lt;em&gt;sessionStorage&lt;/em&gt; are fully supported by this udpate.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/4401.image_5F00_673E08A5.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1667.image_5F00_thumb_5F00_4722FBE8.png" width="339" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Read an &lt;a href="http://msdn.microsoft.com/en-us/library/cc197062%28VS.85%29.aspx" target="_blank"&gt;introduction to DOM storage&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Also notice…&lt;/h2&gt;  &lt;p&gt;The HTML 5 support included in SP1 added intellisense and validation for a lot of new elements such as the &amp;lt;video&amp;gt; and &amp;lt;source&amp;gt; elements. However, there were bugs and one of them were the error you would see when adding &amp;lt;source&amp;gt; elements inside &amp;lt;video&amp;gt; elements. This is being fixed by this update so you now also get intellisense for the &amp;lt;source&amp;gt; element. The &lt;em&gt;type&lt;/em&gt; attribute is also no longer required in &amp;lt;script&amp;gt; elements.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2248.image_5F00_54F541E3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5875.image_5F00_thumb_5F00_38E482F8.png" width="418" height="247" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We also added missing elements such as &amp;lt;bdi&amp;gt;, &amp;lt;s&amp;gt; and &amp;lt;u&amp;gt; and a lot of new attributes such as &lt;em&gt;dropzone&lt;/em&gt; for drag ‘n drop.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1273.image_5F00_46B6C8F3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2744.image_5F00_thumb_5F00_54890EEE.png" width="254" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Though this update contains a lot of new CSS3, HTML5 and JavaScript support, there are certain things that we haven’t been able to do. Since we don’t make any changes to the running code of Visual Studio, we are not able to change the way CSS, HTML and JavaScript gets parsed and validated. That means that even though we are continuing to bring you updates as the W3C standards changes, we will not be able to get it 100% right in Visual Studio 2010. &lt;/p&gt;  &lt;p&gt;We do encourage you to report any bugs you find to us directly as a comment here on this blog post. We do take this very seriously and want to get as close to 100% as we possibly can. &lt;/p&gt;  &lt;h2&gt;Read more&lt;/h2&gt;  &lt;p&gt;More demos and run trough's can be found at &lt;a href="http://www.hanselman.com/blog/AnnouncingTheWebStandardsUpdateHTML5SupportForTheVisualStudio2010Editor.aspx" target="_blank"&gt;Scott Hanselman’s blog post&lt;/a&gt; and a behind-the-scenes story can be found at &lt;a href="http://madskristensen.net/post/Web-Standards-Update-behind-the-scenes.aspx" target="_blank"&gt;Mads Kristensen’s blog&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10175024" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/SP1/">SP1</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/javascript/">javascript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/HTML5/">HTML5</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/CSS3/">CSS3</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Mads+Kristensen/">Mads Kristensen</category></item><item><title>We are Hiring!!</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/06/10/we-are-hiring.aspx</link><pubDate>Fri, 10 Jun 2011 21:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10048566</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10048566</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/06/10/we-are-hiring.aspx#comments</comments><description>&lt;p&gt;&lt;img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/5126.hiring.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Do you want to work in a challenging, fun and growth oriented environment leading Microsoft transition to the Cloud? Are you passionate about Web &lt;br /&gt;development? Do you want to work with key technologies like ASP.Net, MVC, Razor, JavaScript? Do you want to see how your work can directly impact our customers? If you answer yes to these questions, then the Framework and Tools team in Azure Application Platform is the right place for you.&lt;/p&gt;
&lt;p&gt;The Framework and Tools team in Azure Application Platform team is looking for smart, highly motivated and experienced testers who can help our team test the next generation of tools and runtime technologies. The candidates who fill these roles are expected to become an expert at building, testing and using web based technologies. The ideal candidate should be a self-starter and have the ability to ramp up quickly in a fast-changing environment and industry. They must have strong technical and communication skills, experience in web development as well as a strong background in test planning, design, and code development.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Currently we have multiple open positions. You can use the links below to see more details about these positions:&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 518px;" border="0" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="275"&gt;
&lt;p align="left"&gt;&lt;strong&gt;Standard Job Title&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="110"&gt;
&lt;p align="left"&gt;&lt;strong&gt;Location&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="94"&gt;
&lt;p align="left"&gt;&lt;strong&gt;Internal Link&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="103"&gt;
&lt;p align="left"&gt;&lt;strong&gt;External Link&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="275"&gt;
&lt;p&gt;&lt;strong&gt;Software Design Engineer in Test&amp;nbsp;II&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="110"&gt;
&lt;p&gt;Redmond, WA&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="94"&gt;
&lt;p&gt;&lt;a href="http://career/Global/Pages/JobDetails.aspx?jid=48771"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="103"&gt;
&lt;p&gt;&lt;a href="https://careers.microsoft.com/jobdetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=4&amp;amp;jid=72692&amp;amp;jlang=EN"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="275"&gt;
&lt;p&gt;&lt;strong&gt;Software Design Engineer in Test II&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="110"&gt;
&lt;p&gt;Redmond, WA&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="94"&gt;
&lt;p&gt;&lt;a href="http://career/global/pages/JobDetails.aspx?src=search&amp;amp;jid=48217"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="103"&gt;
&lt;p&gt;&lt;a href="https://careers.microsoft.com/jobdetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=3&amp;amp;jid=72256&amp;amp;jlang=EN"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="275"&gt;
&lt;p&gt;&lt;strong&gt;Lead Software Development Eng in Test&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="110"&gt;
&lt;p&gt;Redmond, WA&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="94"&gt;
&lt;p&gt;&lt;a href="http://career/global/pages/JobDetails.aspx?src=search&amp;amp;jid=49161"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="103"&gt;
&lt;p&gt;&lt;a href="https://careers.microsoft.com/jobdetails.aspx?ss=&amp;amp;pg=0&amp;amp;so=&amp;amp;rw=1&amp;amp;jid=73017&amp;amp;jlang=EN"&gt;Career Link&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please contact &lt;a href="mailto:vinayr@microsoft.com"&gt;Vinaya Bhushana Gattam Reddy&lt;/a&gt;&amp;nbsp;with your resume if you are interested.&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;-- The Framework and Tools team in Azure Application Platform team&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Update 2/1/2012: Removed the obsolete links, update the new job links, changed team name to reflect the current team's name&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10048566" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Jobs/">Jobs</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Development/">Web Development</category></item><item><title>Walkthrough: deploy a web application with SQL CE 4.0 database to IIS host with SQL Server.</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/06/07/walkthrough-deploy-a-web-application-with-sql-ce-4-0-database-to-iis-host-with-sql-server.aspx</link><pubDate>Tue, 07 Jun 2011 17:45:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10172223</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10172223</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/06/07/walkthrough-deploy-a-web-application-with-sql-ce-4-0-database-to-iis-host-with-sql-server.aspx#comments</comments><description>&lt;p&gt;With VS2010 sp1, we added SQL CE 4.0 support. You can view more information about SQL CE 4.0 from the following sites:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx" href="http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/06/30/new-embedded-database-support-with-asp-net.aspx&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx" href="http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx"&gt;http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here is a walk through of how to deploy a SQL CE database to SQL Server database using web application publish.&lt;/p&gt;  &lt;p&gt;1. Create a web application&lt;/p&gt;  &lt;p&gt;2. Add a SQL CE 4.0 database via “Add New item”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/7357.image_5F00_2.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/1184.image_5F00_thumb.png" width="594" height="284" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3. In server explorer, under the SQL CE database, add a table “Customer”, with 2 columns “ID” and “Name”.&amp;#160; Use “Show Table Data” table context menu to add a few rows of data to the table.&lt;/p&gt;  &lt;p&gt;4. Add a web form to the project, and put the following code inside it (I used design view, drag and drop the SQL DataSource control and GridView Control and configured them in designer, which will take care web.config change in step 5 as well):&lt;/p&gt;  &lt;div style="overflow: scroll"&gt;   &lt;pre class="code"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;form &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;form1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    
        &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;SqlDataSource &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;SqlDataSource1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;ConnectionString&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;$ &lt;/span&gt;ConnectionStrings:ConnectionString &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;ProviderName&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;$ &lt;/span&gt;ConnectionStrings:ConnectionString.ProviderName &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;SelectCommand&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;SELECT * FROM [Customer]&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;SqlDataSource&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;GridView &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;GridView1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;AutoGenerateColumns&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;False&amp;quot; 
        &lt;/span&gt;&lt;span style="color: red"&gt;DataKeyNames&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;ID&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;DataSourceID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;SqlDataSource1&amp;quot;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;Columns&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;BoundField &lt;/span&gt;&lt;span style="color: red"&gt;DataField&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;ID&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;HeaderText&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;ID&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;InsertVisible&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;False&amp;quot; 
                &lt;/span&gt;&lt;span style="color: red"&gt;ReadOnly&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;True&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;SortExpression&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;ID&amp;quot; /&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;BoundField &lt;/span&gt;&lt;span style="color: red"&gt;DataField&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Name&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;HeaderText&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Name&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;SortExpression&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Name&amp;quot; /&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;Columns&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: maroon"&gt;GridView&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;5. Put the following connection string into web.config file for SQL CE 4.0 connection string.&lt;/p&gt;

&lt;div style="overflow: scroll"&gt;
  &lt;pre class="code"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;ConnectionString&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;connectionString&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Data Source=|DataDirectory|\Database1.sdf&lt;/span&gt;&amp;quot;
            &lt;span style="color: red"&gt;providerName&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;System.Data.SqlServerCe.4.0&lt;/span&gt;&amp;quot; &lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;br /&gt;6. Ctrl-F5 to verify a table shows up in IE. 

&lt;p&gt;7. In project’s property page’s “Package/Publish SQL” tab, click “Import from Web.config” to configure SQL deployment settings.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6378.image_5F00_4.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/5314.image_5F00_thumb_5F00_1.png" width="669" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;8. Configure the destination database after selecting the database entry in the above property page. We should script both schema and data for verification purpose.&amp;#160; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/2664.image_5F00_6.png"&gt;&lt;img style="background-image: none; border-right-width: 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.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56-metablogapi/6787.image_5F00_thumb_5F00_2.png" width="420" height="405" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;9. Add the following to web.debug.config for transformation and replace the corresponding database access user ID and password. &lt;strong&gt;Note, we need to transform providerName from “&lt;span style="color: blue"&gt;System.Data.SqlServerCe.4.0&lt;/span&gt;” to “&lt;span style="color: blue"&gt;System.Data.SqlClient&lt;/span&gt;”.&lt;/strong&gt;&lt;/p&gt;

&lt;div style="overflow: scroll"&gt;
  &lt;pre class="code"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;add &lt;/span&gt;&lt;span style="color: red"&gt;name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;ConnectionString&lt;/span&gt;&amp;quot;
          &lt;span style="color: red"&gt;connectionString&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Data Source=VenusIIS7a;Initial Catalog=test16;User ID=MyUserID;Password=MyPwd&lt;/span&gt;&amp;quot;
          &lt;span style="color: red"&gt;providerName&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;System.Data.SqlClient&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;xdt:Transform&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;SetAttributes&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;xdt:Locator&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Match(name)&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;10. &lt;a href="http://blogs.msdn.com/b/webdevtools/archive/2010/04/20/one-click-publish-what-s-new-since-beta-2.aspx"&gt;Publish&lt;/a&gt; the web application to the corresponding server.&amp;#160; You’ll notice that SQL CE 4.0 database are successfully deployed to the destination’s SQL Server, with “web.config” connection string transformed.&amp;#160; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;That’s the end of walkthrough.&amp;#160; With light weighted SQL CE 4.0 support, one can choose freely on what database to use in design time, no matter it is SQL CE, SQL Express, or SQL Server.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Thanks for reading&lt;/p&gt;

&lt;p&gt;Xinyang Qiu&lt;/p&gt;

&lt;p&gt;SDET&lt;/p&gt;

&lt;p&gt;Web Platform And Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10172223" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web-Config+Transformation/">Web.Config Transformation</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/publish/">publish</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010+Sp1/">Visual Studio 2010 Sp1</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/SQL+CE/">SQL CE</category></item><item><title>Razor tooling for MVC3 RC with Visual Studio 2010 Sp1 RTM</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/03/24/razor-tooling-for-mvc3-rc-with-visual-studio-2010-sp1-rtm.aspx</link><pubDate>Thu, 24 Mar 2011 22:53:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10145619</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10145619</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/03/24/razor-tooling-for-mvc3-rc-with-visual-studio-2010-sp1-rtm.aspx#comments</comments><description>&lt;p&gt;Do you see that Razor colorization, intellisense has stopped working after you have installed Visual Studio Sp1 RTM? The reason is that you might have MVC3 RC installed on the box which is not compatible with Visual Studio 2010 Sp1 RTM. To fix, you would need to install MVC3 RTM. Following are the details of the issue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s the issue?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Razor intellisense/colorization stops working after installing Visual Studio 2010 RTM&lt;/p&gt;
&lt;p&gt;You might have MVC 3 RC with VS 2010 RTM that&amp;rsquo;s causing it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I check which version of MVC3 do I have?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Simple way to check is to verify that the version of ProgramFiles\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll is 3.0.20105.0 &lt;br /&gt;If it&amp;rsquo;s not then most likely you have an older MVC3 build installed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to fix it?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1. Uninstall MVC 3 RC: &lt;br /&gt;Follow Drew Miller&amp;rsquo;s post here &lt;a href="http://drew-prog.blogspot.com/2010/11/how-to-uninstall-microsoft-aspnet-mvc-3.html" title="http://drew-prog.blogspot.com/2010/11/how-to-uninstall-microsoft-aspnet-mvc-3.html"&gt;&lt;span style="color: #006ff7;"&gt;http://drew-prog.blogspot.com/2010/11/how-to-uninstall-microsoft-aspnet-mvc-3.html&lt;/span&gt;&lt;/a&gt; on how to uninstall MVC 3 RC. &lt;br /&gt;&lt;br /&gt;2. Install MVC 3 RTM either using &lt;a target="_blank" href="http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3"&gt;WebPI&lt;/a&gt; or as a&lt;a target="_blank" href="http://go.microsoft.com/fwlink/?LinkID=208140"&gt; stand alone download&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10145619" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Razor/">Razor</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Deepak+Verma/">Deepak Verma</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010+Sp1/">Visual Studio 2010 Sp1</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MVC+3/">MVC 3</category></item><item><title>Enabling IIS Express support in VS 2010 Sp1</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/03/14/enabling-iis-express-support-in-vs-2010-sp1.aspx</link><pubDate>Tue, 15 Mar 2011 04:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10141081</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10141081</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/03/14/enabling-iis-express-support-in-vs-2010-sp1.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With the &lt;a target="_blank" href="http://blogs.msdn.com/b/jasonz/archive/2011/03/08/announcing-visual-studio-2010-service-pack-1.aspx"&gt;Sp1 release&lt;/a&gt; of Visual Studio 2010 now available for &lt;a target="_blank" href="http://go.microsoft.com/fwlink/?LinkId=209902"&gt;download&lt;/a&gt;, you now have the option to use IIS Express as the development server for your web projects instead of the built-in Visual Studio Development server (aka. Cassini). Here are some previous blog posts explaining the IIS Express integration features in VS 2010 Sp1 Beta, which are also available with this new release of Sp1:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://weblogs.asp.net/scottgu/archive/2011/01/03/vs-2010-sp1-beta-and-iis-developer-express.aspx"&gt;VS 2010 SP1 (Beta) and IIS Express&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/b/webdevtools/archive/2010/12/11/visual-studio-2010-sp1-beta-iis-express-integration.aspx"&gt;Visual Studio 2010 SP1 Beta IIS Express Integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;VS 2010 SP1 and IIS Express should &lt;em&gt;both be&lt;/em&gt; &lt;em&gt;installed &lt;/em&gt;to enable IIS Express support&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To enable using IIS Express as the development server for your web projects, you need to have both the Sp1 release of VS 2010 as well as the IIS Express web server installed. See the 'Installing VS 2010 Sp1 and IIS Express' section below for details on how to do this.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Sharing projects that use IIS Express in a team environment&lt;/span&gt; - Note that the RTM release of VS 2010 does not know about IIS Express, as the feature was added only in Sp1. This means that if you have a project using IIS Express in VS 2010 Sp1 and share that project with a teammate who is still running VS 2010 RTM, then VS 2010 RTM will make an attempt to open the project as if it were an &lt;em&gt;IIS&lt;/em&gt; project and probably give you an error similar to &amp;ldquo;Could not find the server &amp;lsquo;http://localhost:20221&amp;rsquo; on the local machine&amp;rdquo; (assuming that no site with that binding exists in IIS). If everyone on the team is using VS 2010 Sp1, then you will not run into this problem.&lt;/p&gt;
&lt;p&gt;If you do have some folks on the team using VS 2010 RTM and others using VS 2010 Sp1, then for Web Application Projects, you can work around the above issue by unchecking the &amp;ldquo;Apply server settings to all users (store in project file)&amp;rdquo; checkbox in the Property Pages &amp;gt; Web tab of the WAP. This causes the server selection (Cassini or IIS Express) and related settings to get stored on a per-user basis in the .suo user file rather than in the project file, thus causing the server selection to not persist into source control. This will allow the VS 2010 RTM users on the team to still use Cassini while the VS 2010 Sp1 user can use IIS Express for the same project. For Website Projects, it is necessary that everyone on the team need to be using VS 2010 Sp1 to be able to share projects and use IIS Express.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Installing VS 2010 SP1 and IIS Express&lt;/span&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;When you install Sp1 from the &lt;a target="_blank" href="http://go.microsoft.com/fwlink/?LinkId=209902"&gt;download page&lt;/a&gt;, you should install the IIS Express server separately &lt;br /&gt;&lt;/strong&gt;The VS 2010 Sp1 installer, by itself, includes only the tooling in VS to support using IIS Express as the development server. So after installing Sp1, you will see that a new checkbox exists under &lt;em&gt;Tools &amp;gt; Options &amp;gt; Projects and Solutions &amp;gt; Web Projects&lt;/em&gt; to use IIS Express for new websites and web projects, but this checkbox is disabled (see figure 1 below). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Figure 1&lt;/span&gt; &amp;ndash; IIS Express needs to be installed for Sp1 tooling to light-up&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/6153.IISxNotEnabled_5F00_5FCD8269.png"&gt;&lt;img height="264" width="484" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8524.IISxNotEnabled_5F00_thumb_5F00_5122D684.png" alt="Use IIS Express in Tools-Options" border="0" title="Use IIS Express in Tools-Options" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;To enable the above checkbox and to &amp;ldquo;light-up&amp;rdquo; other IIS Express support features such as the right-click option to change from Cassini to IIS Express, you will need to &lt;a target="_blank" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=abc59783-89de-4adc-b770-0a720bb21deb"&gt;download and install the IIS Express server&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alternatively, if you install Sp1 via &lt;a target="_blank" href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;Web Platform Installer&lt;/a&gt;, IIS Express is bundled along with the VS 2010 Sp1 installer&lt;/strong&gt;&lt;strong&gt; &lt;br /&gt;&lt;/strong&gt;You can also install VS 2010 Sp1 via the Web Platform Installer (Web PI). To do this, you need to first &lt;a target="_blank" href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;download and install Web PI&lt;/a&gt;. Then open WebPI and choose &amp;lsquo;Visual Studio 2010 SP1&amp;rsquo; (or &amp;lsquo;Visual Web Developer Express 2010 SP1&amp;rsquo; if you are using VWD Express) and click Add, and then Install (see figure 2 below). &lt;br /&gt;&lt;br /&gt;Installing VS 2010 Sp1 in this fashion allows you to quickly install not only the core VS 2010 Sp1 package but also various other goodies such as ASP.NET MVC 3, SQL CE 4 and the stand-alone IIS Express server (see figure 3 below). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Figure 2&lt;/span&gt; &amp;ndash; Installing Sp1 via Web Platform Installer&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2678.InstallSp1viaWebPI_5F00_57D5E007.png"&gt;&lt;img height="336" width="484" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2744.InstallSp1viaWebPI_5F00_thumb_5F00_02AE441A.png" alt="InstallSp1viaWebPI" border="0" title="InstallSp1viaWebPI" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Figure 3&lt;/span&gt; &amp;ndash; Installing Sp1 via WebPI gets you various goodies such as IIS Express, MVC 3 and SQL CE 4 &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/7127.AppsInstalledviaWebPI_5F00_5769AD12.png"&gt;&lt;img height="484" width="468" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2251.AppsInstalledviaWebPI_5F00_thumb_5F00_3D9576E3.png" alt="AppsInstalledviaWebPI" border="0" title="AppsInstalledviaWebPI" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt;&amp;nbsp; &lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Verifying that IIS Express is installed&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can verify that it is installed properly by looking at the list of installed programs, as shown in figure 4. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Figure 4&lt;/span&gt; &amp;ndash; IIS Express is installed&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8130.IISxInARP_5F00_2F56FDF3.png"&gt;&lt;img height="346" width="484" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/6560.IISxInARP_5F00_thumb_5F00_1D0E3731.png" alt="IISxInARP" border="0" title="IISxInARP" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Once you install IIS Express, the checkbox in figure 1 will now become enabled and you can check it if you want to use IIS Express as the default server for new websites and web projects. Additionally, the right-click option to use IIS Express will also show up in the context menu for both websites and web application projects (see figure 5 below). If your project is already using IIS Express, the context menu will change to &amp;lsquo;Use Visual Studio Development Server &amp;hellip;&amp;rsquo; to allow you to change back to Cassini if you need to. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Figure 5&lt;/span&gt; &amp;ndash; Use IIS Express context menu&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5086.UseIISxContextMenu_5F00_6EB4B183.png"&gt;&lt;img height="462" width="484" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8032.UseIISxContextMenu_5F00_thumb_5F00_2E7E9809.png" alt="UseIISxContextMenu" border="0" title="UseIISxContextMenu" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10141081" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VS10/">VS10</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Bala+Chirtsabesan/">Bala Chirtsabesan</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Vs2010/">Vs2010</category></item><item><title>How to compress CSS/JavaScript before publish/package</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/02/24/how-to-compress-css-javascript-before-publish-package.aspx</link><pubDate>Fri, 25 Feb 2011 05:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10133899</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10133899</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/02/24/how-to-compress-css-javascript-before-publish-package.aspx#comments</comments><description>&lt;p&gt;Today I saw a post on stackoverflow.com asking &lt;a target="_blank" href="http://stackoverflow.com/q/5043504/105999"&gt;Using Microsoft AJAX Minifier with Visual Studio 2010 1-click publish&lt;/a&gt;. This is a response to that question. The Web Publishing Pipeline is pretty extensive so it is easy for us to hook in to it in order to perform operation such as these. One of those extension points, as we&amp;rsquo;ve blogged about before, is creating a .wpp.targets file. If you create a file in the same directory of your project with the name {ProjectName}.wpp.targets then that file will automatically be imported and included in the build/publish process. This makes it easy to edit your build/publish process without always having to edit the project file itself. I will use this technique to demonstrate how to compress the CSS &amp;amp; JavaScript files a project contains before it is published/packaged.&lt;/p&gt;
&lt;p&gt;Eventhough the question specifically states Microsoft AJAX Minifier I decided to use the compressor contained in Packer.NET (link in resources section). I did this because when I looked at the MSBuild task for the AJAX Minifier it didn&amp;rsquo;t look like I could control the output location of the compressed files. Instead it would simply write to the same folder with an extension like .min.cs or .min.js. In any case, when you publish/package your Web Application Project (WAP) the files are copied to a temporary location before the publish/package occurs. The default value for this location is obj\{Configuration}\Package\PackageTmp\ where {Configuration} is the build configuration that you are currently using for your WAP. So what we need to do is to allow the WPP to copy all the files to that location and then after that we can compress the CSS and JavaScript that goes in that folder. The target which copies the files to that location is &lt;strong&gt;CopyAllFilesToSingleFolderForPackage&lt;/strong&gt;. (To learn more about these targets take a look at the file %Program Files (x86)%\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets.) To make our target run after this target we can use the MSBuild AfterTargets attribute. The project that I created to demonstrate this is called CompressBeforePublish, because of that I create a new file named CompressBeforePublish.wpp.targets to contain my changes.&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&amp;gt;

  &amp;lt;UsingTask TaskName="SmallSharpTools.Packer.MSBuild.Packer"
             AssemblyFile="$(MSBuildThisFileDirectory)..\Contrib\SmallSharpTools.Packer\SmallSharpTools.Packer.dll" /&amp;gt;

  &amp;lt;!-- This target will run after the files are copied to PackageTmp folder --&amp;gt;
  &amp;lt;Target Name="CompressJsAndCss" AfterTargets="CopyAllFilesToSingleFolderForPackage"&amp;gt;
    &amp;lt;!-- Discover files to compress --&amp;gt;
    &amp;lt;ItemGroup&amp;gt;
      &amp;lt;_JavaScriptFiles Include="$(_PackageTempDir)\Scripts\**\*.js" /&amp;gt;
      &amp;lt;_CssFiles Include="$(_PackageTempDir)\Content\**\*.css" /&amp;gt;
    &amp;lt;/ItemGroup&amp;gt;

    &amp;lt;Message Text="Compressing JavaScript files" Importance="high" /&amp;gt;
    &amp;lt;!-- 
      Compress the JavaScript files. 
      Not the usage of %(JavaScript.Identity which causes this task to run once per
      .js file in the JavaScriptFiles item list.
      For more info on batching: http://sedotech.com/resources#Batching
    --&amp;gt;
    &amp;lt;Packer InputFiles="%(_JavaScriptFiles.Identity)"
            OutputFileName="@(_JavaScriptFiles-&amp;gt;'$(_PackageTempDir)\Scripts\%(RecursiveDir)%(Filename)%(Extension)')"
            Mode="JSMin"
            Verbose="false"
            Condition=" '@(_JavaScriptFiles)' != ''" /&amp;gt;

    &amp;lt;Message Text="Compressing CSS files" Importance="high" /&amp;gt;
    
    &amp;lt;Packer InputFiles="%(_CssFiles.Identity)"
            OutputFileName="@(_CssFiles-&amp;gt;'$(_PackageTempDir)\Content\%(RecursiveDir)%(Filename)%(Extension)')"
            Mode="CSSMin"
            Verbose="false"
            Condition=" '@(_CssFiles)' != '' "/&amp;gt;
  &amp;lt;/Target&amp;gt;
&amp;lt;/Project&amp;gt;&lt;/pre&gt;
&lt;p&gt;Here I&amp;rsquo;ve created one target, CompressJsAndCss, and I have included AfterTargets=&amp;rdquo;CopyAllFilesToSingleFolderForPackage&amp;rdquo; which causes it to be executed after CopyAllFilesToSingleFolderForPackage. Inside this target I do two things, gather the files which need to be compressed and then I compress them.&lt;/p&gt;
&lt;h5&gt;1. Gather files to be compressed&lt;/h5&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;ItemGroup&amp;gt;
  &amp;lt;_JavaScriptFiles Include="$(_PackageTempDir)\Scripts\**\*.js" /&amp;gt;
  &amp;lt;_CssFiles Include="$(_PackageTempDir)\Content\**\*.css" /&amp;gt;
&amp;lt;/ItemGroup&amp;gt;&lt;/pre&gt;
&lt;p&gt;Here I use an item list for both JavaScript files as well as CSS files. Notice that I am using the _PackageTempDir property to pickup .js &amp;amp; .css files inside the temporary folder where the files are written to be packaged. The reason that I&amp;rsquo;m doing that instead of picking up source files is because my build may be outputting other .js &amp;amp; .css files and which are going to be published. &lt;em&gt;Note: since the property _PackageTempDir starts with an underscore it is not guaranteed to behave (or even exist) in future versions&lt;/em&gt;.&lt;/p&gt;
&lt;h5&gt;2. Compress files&lt;/h5&gt;
&lt;p&gt;I use the Packer task to compress the .js and .css files. For both sets of files the usage is pretty similar so I will only look at the first usage.&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;Packer InputFiles="%(_JavaScriptFiles.Identity)"
        OutputFileName="@(_JavaScriptFiles-&amp;gt;'$(_PackageTempDir)\Scripts\%(RecursiveDir)%(Filename)%(Extension)')"
        Mode="JSMin"
        Verbose="false"
        Condition=" '@(_JavaScriptFiles)' != ''" /&amp;gt;&lt;/pre&gt;
&lt;p&gt;Here the task is fed all the .js files for compression. Take a note how I passed the files into the task using, %(_JavaScriptFiles.Identity), in this case what that does is to cause this task to be executed once per .js file. &lt;em&gt;The %(abc.def) syntax invokes batching, if you are not familiar with batching please see below.&lt;/em&gt; For the value of the output file I&amp;nbsp; use the _PackageTempDir property again. In this case since the item already resides there I could have simplified that to be @(_JavaScriptFiles-&amp;gt;&amp;rsquo;%(FullPath)&amp;rsquo;) but I thought you might find that expression helpful in the case that you are compressing files which do not already exist in the _PackageTempDir folder.&lt;/p&gt;
&lt;p&gt;Now that we have added this target to the .wpp.targets file we can publish/package our web project and it the contained .js &amp;amp; .css files will be compressed. &lt;em&gt;Note: Whenever you modify the .wpp.targets file you will have to unload/reload the web project so that the changes are picked up, Visual Studio caches your projects.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the image below you can see the difference that compressing these files made.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/3463.image_5F00_59DEC68E.png"&gt;&lt;img height="416" width="738" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/6683.image_5F00_thumb_5F00_6744D994.png" alt="image" border="0" title="image" style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can download the entire project below, as well as take a look at some other resources that I have that you might be interested in.&lt;/p&gt;
&lt;p&gt;Sayed Ibrahim Hashimi&lt;/p&gt;
&lt;p&gt;Note: Cross posted to &lt;a href="http://sedodream.com/2011/02/25/HowToCompressCSSJavaScriptBeforePublishpackage.aspx" title="http://sedodream.com/2011/02/25/HowToCompressCSSJavaScriptBeforePublishpackage.aspx"&gt;http://sedodream.com/2011/02/25/HowToCompressCSSJavaScriptBeforePublishpackage.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;Resources&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://sedotech.com\content\samples\CompressBeforePublish.zip"&gt;http://sedotech.com/content/samples/CompressBeforePublish.zip&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://sedotech.com\resources#batching" title="http://sedotech.com/resources#Batching"&gt;http://sedotech.com\resources#batching&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://freetodev.wordpress.com/2009/06/24/msbuild-4-0-beforetargets-and-aftertargets/"&gt;MSBuild BeforeTargets/AfterTargets&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://sedodream.com/2010/08/15/WebDeploymentToolMSDeployHowToExcludeFilesFromPackageBasedOnConfiguration.aspx"&gt;Web Deploy: How to exclude files from package based on Configuration&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://svn.offwhite.net/trac/SmallSharpTools.Packer/"&gt;Packer.NET&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10133899" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/WAP/">WAP</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VWD/">VWD</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/CSS/">CSS</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/JScript/">JScript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Build/">Build</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSDeploy/">MSDeploy</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSBuild/">MSBuild</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category></item><item><title>HTML5 &amp; CSS3 in Visual Studio 2010 SP1</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/01/27/html5-amp-css3-in-visual-studio-2010-sp1.aspx</link><pubDate>Thu, 27 Jan 2011 23:47:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10121278</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>22</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10121278</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/01/27/html5-amp-css3-in-visual-studio-2010-sp1.aspx#comments</comments><description>&lt;p&gt;Since the release of &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=11ea69cb-cf12-4842-a3d7-b32a1e5642e2"&gt;Visual Studio 2010 SP1 beta&lt;/a&gt; last month, there has been a lot of questions regarding the support for HTML5 and CSS3. &lt;/p&gt;  &lt;h2&gt;HTML5&lt;/h2&gt;  &lt;p&gt;Visual Studio 2010 was originally released without HTML5 support, so does SP1 finally add support for it? Yes, to some extent. The entire HTML5 specification isn’t supported but most of the new elements and attributes are. That means you get both intellisense and validation for HTML5 with SP1.&lt;/p&gt;  &lt;h3&gt;Turn it on&lt;/h3&gt;  &lt;p&gt;After installing SP1 you have to tell Visual Studio to start using the HTML5 schema. Go to &lt;i&gt;Tools&lt;/i&gt; -&amp;gt; &lt;i&gt;Options,&lt;/i&gt; and then select &lt;i&gt;Text Editor&lt;/i&gt; -&amp;gt; &lt;i&gt;HTML&lt;/i&gt; -&amp;gt; &lt;i&gt;Validation&lt;/i&gt;. You should now be able to select HTML5 or XHTML5 as the target schema.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8446.clip_5F00_image002_5F00_5A16DD12.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4721.clip_5F00_image002_5F00_thumb_5F00_7D835BAA.jpg" width="506" height="295" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Or if you have the &lt;i&gt;HTML Source Editing&lt;/i&gt; toolbar enabled, you can select it in the target schema dropdown.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5381.clip_5F00_image003_5F00_1D323573.png" width="227" height="39" /&gt;&lt;/p&gt;  &lt;h3&gt;Intellisense support&lt;/h3&gt;  &lt;p&gt;The new elements that are specific to HTML5 are shown in the intellisense list as you would expect.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/3755.clip_5F00_image004_5F00_6825A642.png" width="244" height="192" /&gt;&lt;/p&gt;  &lt;p&gt;Even the new HTML5 specific attribute values for existing elements are shown. &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/7041.clip_5F00_image005_5F00_0EF3BC83.png" width="244" height="198" /&gt;&lt;/p&gt;  &lt;p&gt;Prior to SP1 there had been a bug that caused a runtime error when an input element used some of the new &lt;i&gt;type&lt;/i&gt; attribute values such as &lt;i&gt;email&lt;/i&gt; in conjunction with &lt;i&gt;runat=”server”&lt;/i&gt;. &lt;/p&gt;  &lt;p&gt;&amp;lt;input type=&amp;quot;email&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;/p&gt;  &lt;p&gt;This error has been fixed and will be included in the final SP1. However, it is not part of SP1 beta. In the meantime, you can use the &lt;i&gt;Textbox&lt;/i&gt; control instead which doesn’t cause the error.&lt;/p&gt;  &lt;p&gt;&amp;lt;asp:textbox type=&amp;quot;email&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;/p&gt;  &lt;h2&gt;CSS3&lt;/h2&gt;  &lt;p&gt;In SP1 there are a few improvements in the CSS3 support as well, though not as elaborate as with HTML5. The editor now supports the more advanced selectors such as &lt;i&gt;div:nth-child(2n+1) &lt;/i&gt;without giving validation errors and the new color values &lt;i&gt;rgba&lt;/i&gt;, &lt;i&gt;hsl&lt;/i&gt;, &lt;i&gt;hsla&lt;/i&gt; and 8 digit hex values are also supported. &lt;/p&gt;  &lt;h2&gt;Start today&lt;/h2&gt;  &lt;p&gt;The conclusion is that with Visual Studio today, you can build HTML5 and CSS3 web applications on top of ASP.NET, and with SP1 we are making it a lot easier for you. We encourage all ASP.NET developers to start taking advantage of what HTML5 and CSS3 has to offer already today. The Web Platform and Tools team takes web standards very seriously and you will see much better support for HTML5 and CSS3 in the future.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10121278" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/HTML5/">HTML5</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/CSS3/">CSS3</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Mads+Kristensen/">Mads Kristensen</category></item><item><title>How to get Razor intellisense for @model in a class library project</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/01/20/how-to-get-razor-intellisense-for-model-in-a-class-library-project.aspx</link><pubDate>Thu, 20 Jan 2011 21:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10118378</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10118378</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/01/20/how-to-get-razor-intellisense-for-model-in-a-class-library-project.aspx#comments</comments><description>&lt;p&gt;Many of us follow a modular architecture and create MVC3 Razor view in a separate class library project.&lt;/p&gt;
&lt;p&gt;Following&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;is a screenshot of the class library project that I have created.&lt;/p&gt;
&lt;p&gt;&lt;img height="337" width="204" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/5417.classlibrary.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Now if I open a view with @model typed in it, I notice&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;that it shows squiggle for @model and no intellisense is shown. (error: There is build provider registered for the extension '.cshtml')&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/3580.model_5F00_squiggle.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;The reason behind the error is that Visual Studio 2010 (for Razor tooling) requires web.config file (with some specific settings)&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;to be in the project so that the MVC Razor host (which adds the @model directive) gets registered correctly.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en-AU"&gt;The &lt;/span&gt;&lt;span lang="en-US"&gt;workaround would be&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;to drop the attached &lt;a href="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/CommunityServer-Components-PostAttachments/00-10-11-83-78/web.txt"&gt;web.config&lt;/a&gt; (rename the attached file&amp;nbsp;from web.txt to web.config) &amp;nbsp;to the root of the project. Close,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;reopen the file and Boom, intellisense is back for @model inside the class library project.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;img height="50" width="443" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/2018.modelintellisense.png" border="0" /&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p lang="en-AU" style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p lang="en-AU" style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;Hope this helps,&lt;/p&gt;
&lt;p lang="en-AU" style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;Deepak&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10118378" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-11-83-78/web.txt" length="2012" type="text/plain" /><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VS10/">VS10</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET+4/">ASP.NET 4</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Vs2010/">Vs2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Razor/">Razor</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Deepak+Verma/">Deepak Verma</category></item><item><title>How to get Razor syntax support in Visual Studio 2010</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/01/12/how-to-get-razor-syntax-support-in-visual-studio-2010.aspx</link><pubDate>Wed, 12 Jan 2011 19:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10114893</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10114893</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/01/12/how-to-get-razor-syntax-support-in-visual-studio-2010.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s Razor?&lt;br /&gt;&lt;/strong&gt;Razor is a simple-syntax view engine that is released as part of ASP.NET Model View Controller (MVC) 3. Read more about the syntax on &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx"&gt;ScottGu&amp;rsquo;s blog&lt;/a&gt; or on &lt;a href="http://www.asp.net/mvc"&gt;ASP.NET &lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;How can I get Razor syntax support in Visual Studio 2010?&lt;br /&gt;&lt;/strong&gt;It&amp;rsquo;s simple. Install the MVC3 RTM bits via &lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3"&gt;Web Platform Installer&lt;/a&gt; or &lt;a href="http://go.microsoft.com/fwlink/?LinkID=208140"&gt;download the installer directly&lt;/a&gt; to run it yourself.&amp;nbsp;&lt;br /&gt;Both the options run AspNetMVC3Setup.exe and it installs Visual Studio 2010&amp;nbsp;support for Razor syntax in addition to other components bundled in the exe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does ASPnetMVC3Setup.exe install for Visual Studio to support the syntax?&lt;br /&gt;&lt;/strong&gt;The ASP.NET MVC 3 installer includes the following components. Components in bold add the support.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASP.NET MVC 3 runtime components&lt;/li&gt;
&lt;li&gt;ASP.NET MVC 3 Visual Studio 2010 tools&lt;/li&gt;
&lt;li&gt;ASP.NET Web Pages run-time components&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ASP.NET Web Pages Visual Studio 2010 tools&lt;br /&gt;&lt;/strong&gt;This component is responsible to add support for Razor syntax. It also installs Razor (VB and C#) Templates for Websites.&lt;/li&gt;
&lt;li&gt;Microsoft Package Manager for .NET (NuGet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;An update for Visual Studio 2010 that enables support for Razor syntax. &lt;br /&gt;&lt;/strong&gt;It&amp;rsquo;s an update for Visual Studio 2010 that enables support for ASP.NET webpages that are developed by using Razor syntax in websites and in web projects. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Known issues&lt;br /&gt;&lt;/strong&gt;Please check the &lt;a href="http://go.microsoft.com/fwlink/?LinkID=208140"&gt;MVC3 release notes&lt;/a&gt; from &lt;a href="http://go.microsoft.com/fwlink/?LinkID=208140"&gt;here&lt;/a&gt;&amp;nbsp;for a list of known issues.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;You might encounter the following issues if you install Visual Studio 2010 &lt;strong&gt;SP1 Beta&lt;/strong&gt; + MVC 3 RTM.&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Squigglies are shown for &amp;lsquo;WebSecurity&amp;rsquo;&amp;nbsp;when I Open Account/Login.cshtml &lt;/li&gt;
&lt;li&gt;Database.open shows squigglies when I opened a Bakery site in Visual Studio using the VS button in WebMatrix, when build the error goes away.&lt;/li&gt;
&lt;li&gt;Running format document on the default template's ChangePassword in VB causes a compilation problem because it formats the &amp;lt;li&amp;gt; elements incorrectly to the same line as End if&lt;/li&gt;
&lt;li&gt;Language intelliSense is not automatically shown when typing inside html attribute where html intellisense is already up. For example, &amp;lt;img src=&amp;rdquo;@&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Workaround for the above four issues would be to uninstall Visual Studio 2010 &lt;strong&gt;SP1 Beta&lt;/strong&gt; or install Visual Studio 2010 SP1 RTM (whenever it&amp;rsquo;s released).&lt;/p&gt;
&lt;p&gt;Hope this Helps,&lt;br /&gt;Deepak Verma&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10114893" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Razor/">Razor</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Deepak+Verma/">Deepak Verma</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET+MVC3/">ASP.NET MVC3</category></item><item><title>Video on Web Deployment using Visual Studio 2010 and MSDeploy</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/01/08/video-on-web-deployment-using-visual-studio-2010-and-msdeploy.aspx</link><pubDate>Sat, 08 Jan 2011 20:31:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10113351</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10113351</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/01/08/video-on-web-deployment-using-visual-studio-2010-and-msdeploy.aspx#comments</comments><description>&lt;p&gt;Back in November I participated in &lt;a href="http://virtualtechdays.com/"&gt;Virtual Tech Days&lt;/a&gt; which is an online conference presented by Microsoft. In the session I discussed the enhancements to web deployment using Visual Studio 2010 and MSDeploy. Some of the topics which I covered includ:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;web.conig (XDT) transforms &lt;/li&gt;    &lt;li&gt;How to publish to local file system using Visual Studio &lt;/li&gt;    &lt;li&gt;How to publish to a 3rd party host using Visual Studio via MSDeploy &lt;/li&gt;    &lt;li&gt;How to publish to local IIS server using the .cmd file generated by Visual Studio &lt;/li&gt;    &lt;li&gt;How to use msdeploy.exe to delete IIS applications &lt;/li&gt;    &lt;li&gt;How to use the IIS Manager to import web packages &lt;/li&gt;    &lt;li&gt;How to use msdeploy.exe to deploy a web package to the local IIS server &lt;/li&gt;    &lt;li&gt;How to use msdeploy.exe to deploy a web package to a remove IIS server &lt;/li&gt;    &lt;li&gt;How to use msdeploy.exe to deploy a web package &amp;amp; set parameters using SetParameters.xml to a remote IIS server &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can download the video &amp;amp; all of my sample files at &lt;a href="http://virtualtechdays.com/pastevents_2010november.aspx"&gt;http://virtualtechdays.com/pastevents_2010november.aspx&lt;/a&gt;. In the samples you will find all of the scripts that I used and a bunch of others which I didn’t have time to cover. Enjoy!&lt;/p&gt;  &lt;p&gt;Note: Cross posted to &lt;a href="http://sedodream.com/2011/01/08/VideoOnWebDeploymentUsingVisualStudio2010AndMSDeploy.aspx"&gt;http://sedodream.com/2011/01/08/VideoOnWebDeploymentUsingVisualStudio2010AndMSDeploy.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sayed Ibrahim Hashimi &lt;a href="http://twitter.com/sayedihashimi"&gt;@sayedihashimi&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10113351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment/">Web Deployment</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSDeploy/">MSDeploy</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web-Config+Transformation/">Web.Config Transformation</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment+Tool/">Web Deployment Tool</category></item><item><title>How to Bin Deploy SQL Compact Edition 4.0 and Razor web projects</title><link>http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx</link><pubDate>Thu, 06 Jan 2011 17:39:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10112567</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10112567</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2011/01/06/how-to-bin-deploy-sql-compact-edition-4-0-and-razor-web-projects.aspx#comments</comments><description>&lt;p&gt;With the release of VS2010 SP1 Beta1, Web Matrix,&amp;#160; and Razor QFE, we can build web projects containing SQL Compact Edition 4.0 sdf file and ASP.NET Web Pages with Razor syntax. However, this might be a problem when you are ready to deploy your project on a server that doesn’t have the assemblies required to run SQL CE 4.0 and Razor pages. &lt;/p&gt;  &lt;p&gt;To solve this issue, we can make the project “Bin Deployable”, similar to the way we do bin deploy an MVC project. If the hosting machine has ASP.NET 3.5 or later installed, then we just need to include the required assemblies in the bin folder when deploying the project.&lt;/p&gt;  &lt;p&gt;We can include required assemblies in a Web site or Web Application project with a few simple steps. You right click the project node in Solution Explorer and select “Add Deployable Dependencies…” context menu item.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4403.MenuItem_5F00_1.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MenuItem" border="0" alt="MenuItem" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4747.MenuItem_5F00_thumb_5F00_1.png" width="553" height="454" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If there isn’t SQL CE 4.0 nor Razor installed on the machine, the following dialog will pop up:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/7484.image_5F00_4.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5811.image_5F00_thumb_5F00_1.png" width="548" height="228" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If there’s at least one of them installed, then the following dialog will pop up:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/6472.image_5F00_6.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5808.image_5F00_thumb_5F00_2.png" width="546" height="225" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Visual Studio detects what components are present on the machine and the corresponding options will be enabled; you then can choose what to include in the bin folder. In the above picture, only the option for SQL Server Compact is enabled on a machine with SQL Server Compact 4.0 installed. If it’s a website, the required assemblies will be copied to “Bin” folder; if it’s a WAP, they will be copied to “_bin_deployableAssemblies” folder. Note that your selection will not be persisted after the dialog is closed.&lt;/p&gt;  &lt;p&gt;Now you can deploy your web projects the same way you deploy any other web project. For a Web Application Project (WAP), you can use Deployment feature made available with VS2010. For both web site or WAP, you can use “Copy Web”, or “Web Deployment Project” to push all the files needed to deploy to a specific directory, test it, and then copy the the host.&lt;/p&gt;  &lt;p&gt;Hope it helps!&lt;/p&gt;  &lt;p&gt;Thanks,    &lt;br /&gt;-Anh&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10112567" width="1" height="1"&gt;</description></item><item><title>How to solve Visual Studio hang problem when working in win7 with Norton antivirus</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/12/16/how-to-solve-visual-studio-hang-problem-when-working-in-win7-with-norton-antivirus.aspx</link><pubDate>Thu, 16 Dec 2010 20:30:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10106159</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10106159</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/12/16/how-to-solve-visual-studio-hang-problem-when-working-in-win7-with-norton-antivirus.aspx#comments</comments><description>&lt;p&gt;A recent support email between customer and our developer shows that Norton/Symantec antivirus may affect Visual Studio’s performance in win7 due to the win7 jumplists.&amp;#160; Here’s a workaround for it:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;First, to determine if this is the problem, you may want to disable the antivirus temporarily and see if these hangs still repro.&lt;/p&gt;  &lt;p&gt;If it’s indeed the case, please create/set the following registry value and restart VS2010.&lt;/p&gt;  &lt;p&gt;[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\General]&lt;/p&gt;  &lt;p&gt;&amp;quot;ShowRecentFilesInJumplist&amp;quot;=dword:00000001&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With the value set, Visual Studio will not try to remove anymore the files from the Win7 jumplists , which would reduce the chance of an antivirus interfering (at least during file saves)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For the jumplists at least, you may also tell Norton to exclude from monitoring *.automaticDestinations-ms files (these hold the jumplists), or exclude from disk monitoring a folder like C:\Users\&amp;lt;your_user&amp;gt;\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps.&lt;/p&gt;  &lt;p&gt;Xinyang Qiu&lt;/p&gt;  &lt;p&gt;SDET&lt;/p&gt;  &lt;p&gt;Web Platform And Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10106159" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Vs2010/">Vs2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/norton/">norton</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/antivirus/">antivirus</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/hang/">hang</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/jumplist/">jumplist</category></item><item><title>Visual Studio 2010 SP1 Beta IIS Express Integration</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/12/11/visual-studio-2010-sp1-beta-iis-express-integration.aspx</link><pubDate>Sat, 11 Dec 2010 23:05:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10103662</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10103662</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/12/11/visual-studio-2010-sp1-beta-iis-express-integration.aspx#comments</comments><description>&lt;p&gt;A few days ago Jason Zander blogged about the availability of Visual Studio SP1 Beta (all links below in resources section). I am happy to let you guys know that with SP1 Beta we have enabled integration of IIS Express into Visual Studio. After you have installed SP1 Beta you have to &lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=iisexpress"&gt;download IIS Express&lt;/a&gt; separately for the option to “light up”. After you’ve downloaded and installed IIS Express you can now create Web projects and Websites which use IIS Express instead of Cassini (the default web server used in Visual Studio). For more information regarding the difference between IIS Express and IIS/Cassini please see Scott’s blog linked below. Visual Studio 2010 has two types of web projects; Web Application Project (WAP) and Website projects. You can use either project type with IIS Express. &lt;/p&gt;  &lt;h2&gt;Enabling IIS Express for web projects&lt;/h2&gt;  &lt;p&gt;For both WAP and Website projects which were using Cassini we have a very simply method for you to use IIS Express. You can just right click then select the context menu option “Use IIS Express”. Take a look at the screen shot that follows for that command.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/0523.image_5F00_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4336.image_5F00_thumb.png" width="162" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;After you do this your project will use IIS Express instead of Cassini going forward. If you wish to revert back to using Cassini you can just right click on the project and select “Use Visual Studio Development Server…” You can also make IIS Express your default web server for new projects as well.&lt;/p&gt;  &lt;p&gt;For Web site projects when you create a new site you can create it such that IIS Express hosts it instead of Cassini. From Visual Studio when you select File-&amp;gt;New-&amp;gt; Web Site you will see the New Web Site dialog. On that dialog you can click on the Browse button (see image below).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8358.SNAGHTML108dba11.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML108dba11" border="0" alt="SNAGHTML108dba11" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/8372.SNAGHTML108dba11_5F00_thumb.png" width="244" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After you click that you will be prompted to enter the location where the site will be located. From there you can select “Local IIS” and the create a new IIS Express site for it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5633.SNAGHTML108f284e.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML108f284e" border="0" alt="SNAGHTML108f284e" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/7360.SNAGHTML108f284e_5F00_thumb.png" width="244" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this dialog you need to select IIS Express Sites then click on the Create New Site button located towards the upper right hand corner. Once you do this it will create a new IIS Express site for your Web site.&lt;/p&gt;  &lt;h2&gt;Making IIS Express your default web server&lt;/h2&gt;  &lt;p&gt;In order to make IIS Express for new file based web projects you can go to the menu option Tools-&amp;gt;Options-&amp;gt;Projects and Solutions-&amp;gt;Web Projects and check the “Use IIS Express for new file-based web sites and projects” check box. You can see this option in the next image.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/1106.SNAGHTML10527286.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML10527286" border="0" alt="SNAGHTML10527286" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/0028.SNAGHTML10527286_5F00_thumb.png" width="244" height="143" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After you have done this&amp;#160; new projects/sites will use IIS Express by default. Note: if you have any existing projects/sites you will still have to “opt-in” to using IIS Express for each project.&lt;/p&gt;  &lt;h2&gt;Using IIS Express&lt;/h2&gt;  &lt;p&gt;After you have enabled IIS Express to be your projects web server, when you start debugging, or just start running your app, from Visual Studio you will see a new system tray icon appear (&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/3247.image_5F00_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/3755.image_5F00_thumb_5F00_1.png" width="20" height="21" /&gt;&lt;/a&gt;). You can right click on this icon to to quickly see what applications it is hosting. Each hosted application will have its own context menu. From this menu you can browse out to the application as well as stop it quickly.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4336.image_5F00_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5807.image_5F00_thumb_5F00_2.png" width="413" height="131" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also click on “Show All Applications” to open a dialog which give you more information about the sites that IIS Express is hosting. For example I opened this dialog and selected a running application and the result is shown in the image below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/0820.SNAGHTML105b4a00.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SNAGHTML105b4a00" border="0" alt="SNAGHTML105b4a00" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5633.SNAGHTML105b4a00_5F00_thumb.png" width="761" height="374" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There are a few notable values here&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The URL for each hosted application &lt;/li&gt;    &lt;li&gt;The Runtime version for the application &lt;/li&gt;    &lt;li&gt;The path to the application &lt;/li&gt;    &lt;li&gt;The path to the applicationHost.config file &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The default location for the applicationHost.config file is your users’ directory. This enables IIS Express to run without requiring admin privileges. As you may know IIS (i.e. the full IIS) uses the applicationHost.config file to store its configuration. IIS Express is similar to IIS in that it uses a file also named applicationHost.config (not the same file as IIS though). The file that IIS uses is stored under the System32 directory and is shared across all users. The IIS Express config is specific to the current user. Regarding the runtime version, this is the version of the CLR which your application pool will use. For IIS Express application pools will, by default, use CLR 4.0. You can change this default in the applicationHost.config file for IIS Express. Visual Studio will assign the correct CLR version to your app pool based on the target framework version.&lt;/p&gt;  &lt;p&gt;You can customize a few options for your site directly from Visual Studio. If you select your web project/site in the Solution Explorer and then open the Properties pane (you can right-click and select Properties on the project/site if it is not visible) you should see something similar to the following.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/6303.image_5F00_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2502.image_5F00_thumb_5F00_3.png" width="368" height="261" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;These settings will change how IIS Express hosts your site. One of the missing features of Cassini was the ability to host SSL sites. In IIS Express you can enable this. For example for this site I changed the value for SSL Enabled to be True, then a new URL was assigned so that I can use SSL to browse to the site. Please note that IIS Express will install a self-signed cert and you will see the following security warning from Internet Explorer when you browse to an https URL hosted by IIS Express.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2677.image_5F00_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5314.image_5F00_thumb_5F00_4.png" width="244" height="116" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;One thing to make a note of is that when you change the settings for IIS Express here these settings are stored in the applicationHost.config file for IIS Express and not with the project/site itself. So if you are working in a team then your other team members will have to make the same changes. If you want to edit a setting which is not shown on the properties grid then you can edit the applicationHost.config file directly. You can easily open this file by clicking on the applicationHost.config link in the IIS Express dialog shown previously. For WAP projects you can change the port that is used from the Web tab in the project properties page.&lt;/p&gt;  &lt;h2&gt;Known issues&lt;/h2&gt;  &lt;p&gt;There are currently some known issues with IIS Express which are listed below. If you run into any more please let us know.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Profiling is not supported &lt;/li&gt;    &lt;li&gt;If you add a Web Deployment Project (WDP) to an IIS Express web site you will have to remove the ‘:’ from the name of the WDP &lt;/li&gt;    &lt;li&gt;Some issues using WDP for IIS Express sites with sub-webs &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Resources&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=207130"&gt;Visual Studio SP1 Beta download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=iisexpress"&gt;IIS Express Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/jasonz/archive/2010/12/07/announcing-visual-studio-2010-service-pack-1-beta.aspx"&gt;Jason Zander’s blog announcing SP1 Beta&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx"&gt;Scott Guthrie’s blog on IIS Express&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/124/introduction-to-applicationhostconfig/"&gt;Introduction to applicationHost.config&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=89f2c4f5-5d3a-49b6-bcad-f776c6edfa63&amp;amp;displaylang=en"&gt;Web Deployment Projects - 2010&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cross posted to: &lt;a href="http://sedodream.com/2010/12/11/VisualStudio2010SP1BetaIISExpressIntegration.aspx"&gt;http://sedodream.com/2010/12/11/VisualStudio2010SP1BetaIISExpressIntegration.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sayed Ibrahim Hashimi &lt;a href="twitter.com/sayedihashimi"&gt;@sayedihashimi&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10103662" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/IIS/">IIS</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Web+Developer/">Visual Web Developer</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/IIS+Express/">IIS Express</category></item><item><title>XDT (web.config) Transforms in non-web projects</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/11/17/xdt-web-config-transforms-in-non-web-projects.aspx</link><pubDate>Thu, 18 Nov 2010 05:47:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10092992</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10092992</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/11/17/xdt-web-config-transforms-in-non-web-projects.aspx#comments</comments><description>&lt;p&gt;One of the really cool features that we shipped for Visual Studio 2010 was &lt;a href="http://msdn.microsoft.com/en-us/library/dd465326.aspx" target="_blank"&gt;web.config (XDT) transformations&lt;/a&gt;. Because the transformations are so simple and straightforward one of the first questions that someone asks after using it is “how can I use this in my other projects?” Unfortunately this feature is only built into the Web Application Projects (WAP). But it is very easy to reuse this because we just rely on an MSBuild task to do the heavy lifting for us. I received an email from that basically went like this &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Hi, I would like to use XDT transformations on my WPF project for both the app.config file as well as my unity.xml file. How can I do this?”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So one answer is to modify your project file to use the TransformXml task as I have blogged previously about (link below). But I thought that since this was such a common problem that I should go ahead and create a .targets file which would solve the above problem and could be re-used by anyone.&lt;/p&gt;  &lt;p&gt;Let me clarify the scenario a bit before we dive into the details of the solution. I have create a sample Wpf project, named Wpf01. Inside of that project I have created these files:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;app.confog      &lt;ul&gt;       &lt;li&gt;app.debug.config &lt;/li&gt;        &lt;li&gt;app.release.config &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Sample01.xml      &lt;ul&gt;       &lt;li&gt;Sample01.debug.xml &lt;/li&gt;        &lt;li&gt;Sample01.release.xml &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Sub\Sub\Sub01.xml      &lt;ul&gt;       &lt;li&gt;Sub\Sub\Sub01.debug.xml &lt;/li&gt;        &lt;li&gt;Sub\Sub\Sub01.release.xml &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Take a look at the image below (note: I manually edited the project file to make the file nest under each other, I will explain that shortly)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/2337.image_5F00_4A35F673.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: ; 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.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/0216.image_5F00_thumb_5F00_68A0375C.png" width="237" height="397" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The files with .debug/.release are transform files. When I build I expect the following to happen:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Transform app.config with app.{Configuration}.config and write file to output folder with the correct name i.e. Wpf01.exe.config instead of just app.config &lt;/li&gt;    &lt;li&gt;Transform Sample01.xml with Sample01.{Configuration}.config and write it to output folder with the name Sample01.config &lt;/li&gt;    &lt;li&gt;Transform Sub\Sub\Sub01.xml with Sub\Sub\Sub01.{Configuration}.config and write it to the output folder with the name Sub\Sub\Sub01.xml &lt;/li&gt;    &lt;li&gt;None of my source files should change &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Usage&lt;/h3&gt;  &lt;p&gt;Before I get into the solution let me explain how to use the solution first because if you are not interested in the MSBuild details you can skip over that &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4401.wlEmoticon_2D00_smile_5F00_5657709A.png" /&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;You must have installed Web projects with Visual Studio on the machine (it contains the TransformXmll task). &lt;/li&gt;    &lt;li&gt;Create the folder %ProgramFiles (x86)%\MSBuild\Custom. If you want to share this across team members then see my note at the end of this blog. &lt;/li&gt;    &lt;li&gt;Download TransformFiles.targets (link below) and place the file into the folder %ProgramFiles (x86)%\MSBuild\Custom. &lt;/li&gt;    &lt;li&gt;Edit your project file (right click on the project Unload Project, right click again and pick edit) &lt;/li&gt;    &lt;li&gt;At the end of the project file place the element &lt;strong&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\Custom\TransformFiles.targets&amp;quot; /&amp;gt;&lt;/strong&gt; immediately above the closing &amp;lt;/Project&amp;gt; tag &lt;/li&gt;    &lt;li&gt;For files that you want transformed a metadata value of TransformOnBuild to true. See below on what this means. &lt;/li&gt;    &lt;li&gt;Build and take a look at files in your output directory &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;For #5 lets examine the sample that I created. In this sample I had an app.config file. When I first created the project the entry in the project file for app.config looked like the following.&lt;/p&gt;  &lt;pre class="brush: xml;"&gt;&amp;lt;None Include=&amp;quot;app.config&amp;quot; /&amp;gt;&lt;/pre&gt;

&lt;p&gt;So what you need to do is to add a new metadata value as described above for that. So it will turn into the following.&lt;/p&gt;

&lt;pre class="brush: xml;"&gt;&amp;lt;None Include=&amp;quot;app.config&amp;quot;&amp;gt;
  &amp;lt;TransformOnBuild&amp;gt;true&amp;lt;/TransformOnBuild&amp;gt;
&amp;lt;/None&amp;gt;&lt;/pre&gt;

&lt;p&gt;The transform targets will look for items that have this value declared on them and then during build it will transform them, if the transform file exists in the same folder as the file itself. You will need to add TransfromOnBuild to all the files that you want to transform. So in my case I added it to app.config, Sample01.xml and Sub01.xml. Note you should not add this to the transform files themselves because you will just waste your own time. After you do this you should perform a build then take a look at the output directory for your transformed files. The app.config should write out the the correct file and the others as expected.&lt;/p&gt;

&lt;h3&gt;Nest transforms under the source file&lt;/h3&gt;

&lt;p&gt;You might have noticed that in the image above that the transform files are nested under the files themselves. To do this you need to add the DependentUpon metadata value to the child items. For instance for app.config the child items look like the following.&lt;/p&gt;

&lt;pre class="brush: xml;"&gt;&amp;lt;None Include=&amp;quot;app.debug.config&amp;quot;&amp;gt;
  &amp;lt;DependentUpon&amp;gt;app.config&amp;lt;/DependentUpon&amp;gt;
&amp;lt;/None&amp;gt;
&amp;lt;None Include=&amp;quot;app.release.config&amp;quot;&amp;gt;
  &amp;lt;DependentUpon&amp;gt;app.config&amp;lt;/DependentUpon&amp;gt;
&amp;lt;/None&amp;gt;&lt;/pre&gt;

&lt;h3&gt;Implementation&lt;/h3&gt;

&lt;p&gt;If you are wondering how this works then this is the section for you. TransformFile.targets has 2 targets; DiscoverFilesToTransform and TransformAllFiles. DiscoverFilesToTransform looks through a set of items (None, Content, and Resource). Inside of DiscoverFilesToTransform I look for values with the %(TransformOnBuild)==true. After all of those are collected I identify if there is an app.config file being transformed and if so it is placed into a specific item list and all others go into another item list.&lt;/p&gt;

&lt;p&gt;Inside of TransformAllFiles the TransformXml task is used to transform all of the files. This target injects itself into the build process by having the attribute &lt;em&gt;AfterTargets=&amp;quot;Build;_CopyAppConfigFile&amp;quot;&lt;/em&gt;. So whenever the Build or _CopyAppConfigFile targets are called the TransformAllFiles target will execute.&lt;/p&gt;

&lt;p&gt;Here if the full code for this file.&lt;/p&gt;

&lt;pre class="brush: xml;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;Project xmlns=&amp;quot;http://schemas.microsoft.com/developer/msbuild/2003&amp;quot;&amp;gt;
  &amp;lt;UsingTask TaskName=&amp;quot;TransformXml&amp;quot;
         AssemblyFile=&amp;quot;$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll&amp;quot;/&amp;gt;
  
  &amp;lt;ItemDefinitionGroup&amp;gt;
    &amp;lt;!-- Set the default value to false here --&amp;gt;
    &amp;lt;None&amp;gt;
      &amp;lt;TransformOnBuild&amp;gt;false&amp;lt;/TransformOnBuild&amp;gt;
    &amp;lt;/None&amp;gt;    
    &amp;lt;Content&amp;gt;
      &amp;lt;TransformOnBuild&amp;gt;false&amp;lt;/TransformOnBuild&amp;gt;
    &amp;lt;/Content&amp;gt;    
    &amp;lt;Resource&amp;gt;
      &amp;lt;TransformOnBuild&amp;gt;false&amp;lt;/TransformOnBuild&amp;gt;
    &amp;lt;/Resource&amp;gt;
    &amp;lt;EmbeddedResource&amp;gt;
      &amp;lt;TransformOnBuild&amp;gt;false&amp;lt;/TransformOnBuild&amp;gt;
    &amp;lt;/EmbeddedResource&amp;gt;
    
    &amp;lt;_FilesToTransform&amp;gt;
      &amp;lt;IsAppConfig&amp;gt;false&amp;lt;/IsAppConfig&amp;gt;
    &amp;lt;/_FilesToTransform&amp;gt;
  &amp;lt;/ItemDefinitionGroup&amp;gt;

  &amp;lt;PropertyGroup&amp;gt;
    &amp;lt;TransformAllFilesDependsOn&amp;gt;
      DiscoverFilesToTransform;
    &amp;lt;/TransformAllFilesDependsOn&amp;gt;
  &amp;lt;/PropertyGroup&amp;gt;
  &amp;lt;Target Name=&amp;quot;TransformAllFiles&amp;quot; DependsOnTargets=&amp;quot;$(TransformAllFilesDependsOn)&amp;quot; AfterTargets=&amp;quot;Build;_CopyAppConfigFile&amp;quot;&amp;gt;
    &amp;lt;!-- Now we have the item list _FilesToTransformNotAppConfig and _AppConfigToTransform item lists --&amp;gt;
    &amp;lt;!-- Transform the app.config file --&amp;gt;    
    &amp;lt;ItemGroup&amp;gt;
      &amp;lt;_AppConfigTarget Include=&amp;quot;@(AppConfigWithTargetPath-&amp;gt;'$(OutDir)%(TargetPath)')&amp;quot; /&amp;gt;
    &amp;lt;/ItemGroup&amp;gt;
    
    &amp;lt;PropertyGroup&amp;gt;
      &amp;lt;_AppConfigDest&amp;gt;@(_AppConfigTarget-&amp;gt;'%(FullPath)')&amp;lt;/_AppConfigDest&amp;gt;
    &amp;lt;/PropertyGroup&amp;gt;

    &amp;lt;MakeDir Directories=&amp;quot;@(_FilesToTransformNotAppConfig-&amp;gt;'$(OutDir)%(RelativeDir)')&amp;quot;
             Condition=&amp;quot;Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')&amp;quot;/&amp;gt;
    
    &amp;lt;TransformXml Source=&amp;quot;@(_AppConfigToTransform-&amp;gt;'%(FullPath)')&amp;quot;
                  Transform=&amp;quot;%(RelativeDir)%(Filename).$(Configuration)%(Extension)&amp;quot;
                  Destination=&amp;quot;$(_AppConfigDest)&amp;quot;
                  Condition=&amp;quot; Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)') &amp;quot; /&amp;gt;

    
    &amp;lt;TransformXml Source=&amp;quot;@(_FilesToTransformNotAppConfig-&amp;gt;'%(FullPath)')&amp;quot;
                  Transform=&amp;quot;%(RelativeDir)%(Filename).$(Configuration)%(Extension)&amp;quot;
                  Destination=&amp;quot;@(_FilesToTransformNotAppConfig-&amp;gt;'$(OutDir)%(RelativeDir)%(Filename)%(Extension)')&amp;quot;
                  Condition=&amp;quot; Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)') &amp;quot; /&amp;gt;
  &amp;lt;/Target&amp;gt;
  
  &amp;lt;Target Name=&amp;quot;DiscoverFilesToTransform&amp;quot;&amp;gt;
    &amp;lt;!-- 
    This will look through items list: None &amp;amp; Content for those
    with Metadata &amp;lt;TransformOnBuild&amp;gt;True&amp;lt;/TransformOnBuild&amp;gt;
    --&amp;gt;
    &amp;lt;ItemGroup&amp;gt;
      &amp;lt;_FilesToTransform Include=&amp;quot;@(None);@(Content);@(Resource);@(EmbeddedResource)&amp;quot;
                         Condition=&amp;quot; '%(TransformOnBuild)' == 'true' &amp;quot;/&amp;gt;
    &amp;lt;/ItemGroup&amp;gt;    

    &amp;lt;PropertyGroup&amp;gt;
      &amp;lt;_AppConfigFullPath&amp;gt;@(AppConfigWithTargetPath-&amp;gt;'%(RootDir)%(Directory)%(Filename)%(Extension)')&amp;lt;/_AppConfigFullPath&amp;gt;
    &amp;lt;/PropertyGroup&amp;gt;

    &amp;lt;!-- Now look to see if any of these are the app.config file --&amp;gt;
    &amp;lt;ItemGroup&amp;gt;
      &amp;lt;_FilesToTransform Condition=&amp;quot; '%(FullPath)'=='$(_AppConfigFullPath)' &amp;quot;&amp;gt;
        &amp;lt;IsAppConfig&amp;gt;true&amp;lt;/IsAppConfig&amp;gt;
      &amp;lt;/_FilesToTransform&amp;gt;
    &amp;lt;/ItemGroup&amp;gt;
          
    &amp;lt;ItemGroup&amp;gt;
      &amp;lt;_FilesToTransformNotAppConfig Include=&amp;quot;@(_FilesToTransform)&amp;quot;
                                     Condition=&amp;quot; '%(IsAppConfig)'!='true'&amp;quot;/&amp;gt;
      
      &amp;lt;_AppConfigToTransform  Include=&amp;quot;@(_FilesToTransform)&amp;quot;
                              Condition=&amp;quot; '%(IsAppConfig)'=='true'&amp;quot;/&amp;gt;
    &amp;lt;/ItemGroup&amp;gt;
  &amp;lt;/Target&amp;gt;
&amp;lt;/Project&amp;gt;&lt;/pre&gt;

&lt;h3&gt;Gaps&lt;/h3&gt;

&lt;p&gt;With most things found on blogs there are some gaps Those are described here.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Clean build&lt;/u&gt; =&amp;gt; It’s a best practice to delete files upon clean, but in this case I am not. This would be pretty easy to add, if you are interested let us know and I will update the sample.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Incremental build&lt;/u&gt; =&amp;gt; The transforms will run every time you build even if the outputs are up to date, if this is an issue for you let us know and I will update the sample.&lt;/p&gt;

&lt;h3&gt;Sharing with team members&lt;/h3&gt;

&lt;p&gt;If you want to share with team members instead of placing this into %ProgramFiles (x86)% just place it into a folder in version control then change the &lt;em&gt;&amp;lt;Import&lt;/em&gt; statement to point to that file instead of using MSBuildExtensionPath.&lt;/p&gt;

&lt;h3&gt;&amp;#160;&lt;/h3&gt;

&lt;p&gt;&lt;font style="background-color: #ffff00"&gt;If you end up using this please let us know what is your experience with it.&lt;/font&gt;&lt;/p&gt;

&lt;h3&gt;Resources&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://sedotech.com/Content/samples/TransformFiles.targets" target="_blank"&gt;TransformFiles.targets&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://sedotech.com/Content/samples/TransformExample.zip" target="_blank"&gt;Transform Sample&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://sedodream.com/2010/04/26/ConfigTransformationsOutsideOfWebAppBuilds.aspx"&gt;Config transformations outside of web app builds&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://sedodream.com/2010/09/09/ExtendingXMLWebconfigConfigTransformation.aspx"&gt;Extending XML (web.config) Config transformation&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://sedodream.com/2010/11/11/ASPNETWebApplicationPublishPackageTokenizingParameters.aspx"&gt;ASP.NET Web Application: Publish/Package Tokenizing Parameters&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sayed Ibrahim Hashimi &lt;a href="http://twitter.com/sayedihashimi" target="_blank"&gt;@sayedihashimi&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10092992" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/WAP/">WAP</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/-NET/">.NET</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web_2E00_config/">Web.config</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment/">Web Deployment</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSDeploy/">MSDeploy</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSBuild/">MSBuild</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category></item><item><title>ASP.NET Web Application: Publish/Package Tokenizing Parameters</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/11/10/asp-net-web-application-publish-package-tokenizing-parameters.aspx</link><pubDate>Thu, 11 Nov 2010 05:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10089287</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10089287</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/11/10/asp-net-web-application-publish-package-tokenizing-parameters.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Today I just saw a question posted on stackoverflow.com asking &lt;a href="http://stackoverflow.com/q/4151325/105999" target="_blank"&gt;Why are some Web.config transforms tokenised into SetParameters.xml and others are not&lt;/a&gt;? Let me give some background on this topic for those who are not aware of what the question is.&lt;/p&gt;
&lt;p&gt;With Visual Studio 2010 when you package your application using the Build Deployment Package context menu option, see image below.&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/6371.BuildDeployPackage.png" /&gt;&lt;/p&gt;
&lt;p&gt;When build the package by default the package will be created in obj\{Configuration}\Package\{ProjectName}.zip where {Configuration} is the current build configuration, and {ProjectName} is the name of the project. So in this case I since I&amp;rsquo;m building with Debug and the project name is MvcApplication1 the package will be placed at &lt;strong&gt;obj\Debug\Package\MvcApplication1.zip&lt;/strong&gt;. If you take this package and then import into IIS 7 with the &amp;ldquo;Import Application&amp;rdquo; option shown below. Note: The machine must have the &lt;a href="http://www.iis.net/download/WebDeploy" target="_blank"&gt;Web Deployment Tool&lt;/a&gt; (aka MSDeploy) installed.&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/2860.ImportApp.png" /&gt;&lt;/p&gt;
&lt;p&gt;Once you click on Import Application then browse out to the package you will be shown a screen which prompts your for parameters. Its shown below.&lt;/p&gt;
&lt;p&gt;&lt;img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56/5224.Iis_2D00_Parameters.png" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On this screen you can see that we are prompting for a couple parameter values here. One is an IIS setting, Application Path, and the other is a connection string which will be placed inside the web.config file. If your Web Application Project (WAP)&amp;nbsp; had 5 different connection strings then they would automatically show up here on this page. Since connection strings are replaced so often we create parameters for all connection strings by default. You can define new parameters on your own, quite easily actually, but that is the topic for another blog post.&lt;/p&gt;
&lt;p&gt;Now back to the question. He is asking why do we &amp;ldquo;tokenize&amp;rdquo; the connection strings in web.config. To clarify take a look at my web.config file below.&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;configuration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;appSettings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;add&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;key&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;setting01&lt;/span&gt;"&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;value01&lt;/span&gt;"&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;appSettings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;connectionStrings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;add&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;name&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;ApplicationServices&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;connectionString&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;providerName&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;System.Data.SqlClient&lt;/span&gt;"&lt;span style="color: blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;connectionStrings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;configuration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;After I perform a package this will get changed. Take a look @ the web.config file which resides in the package (you can get to the file at obj\{CofigurationName}\Package\PackageTmp\web.config). You will see what is shown below.&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;configuration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;appSettings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;add&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;key&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;setting01&lt;/span&gt;"&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;value01&lt;/span&gt;"&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;appSettings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;connectionStrings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;add&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;name&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;ApplicationServices&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;connectionString&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;$(ReplacableToken_ApplicationServices-Web.config Connection String_0)&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;providerName&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;System.Data.SqlClient&lt;/span&gt;"&lt;span style="color: blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;connectionStrings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;configuration&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So his question is why is the connection string replaced with $(ReplacableToken_ApplicationServices-Web.config Connection String_0) and nothing else is? We do this because we do not want you to accidently copy your web to a location and have it executing SQL statements against a SQL server which you did not intend. The idea is that you will create a package that you can deploy to many different environments. So the value that was in your web.config (or web.debug.config/web.release.config if you are using a &lt;a href="http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx?wa=wsignin1.0" target="_blank"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;web.config transformation&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;) will not be placed inside the web.config in the package. Instead those values will be used as defaults in the package itself. We also create a SetParameters.xml file for you so that you can tweak the values. For my app see the MvcApplication1.SetParameters.xml file below.&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;xml&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;version&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;1.0&lt;/span&gt;"&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;encoding&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue;"&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;parameters&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;setParameter&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;name&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;IIS Web Application Name&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;value&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;Default Web Site/MvcApplication1_deploy&lt;/span&gt;"&lt;span style="color: blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;setParameter&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;name&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;ApplicationServices-Web.config Connection String&lt;/span&gt;"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;value&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true&lt;/span&gt;"&lt;span style="color: blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;parameters&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The idea is that you can deploy your package in 2 ways. Through the IIS Manager which will prompt you for the parameters or you can deploy using msdeploy.exe with the &amp;ndash;setParamFile switch to specify the path to the SetParameters.xml file. In this case I could create a QA01.SetParameters.xml file along with a QA02.SetParameters.xml file to deploy my web to my two QA servers. How do we do this?&lt;/p&gt;
&lt;h3&gt;&amp;nbsp;How connection strings are tokenized&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;You might be wondering how the connection strings are tokenized to begin with. With Visual Studio 2010 we released web.config transformations, which all you to write terse web.config transformations inside of files like web.debug.config/web.release.config. When you package/publish your web these transform files are used to transform your web.config based on what you expressed in the appropriate transform file. We have an MSBuild task TransformXml which performs the transformation. We use that same task to tokenize the connection strings. If you are interested in the details take a look at %ProgramFiles32%\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets in the &lt;strong&gt;AutoParameterizationWebConfigConnectionStringsCore&lt;/strong&gt; target.&lt;/p&gt;
&lt;p&gt;Now what if you do not want the connection string tokenized?&lt;/p&gt;
&lt;h3&gt;Prevent tokenizing connection strings&lt;/h3&gt;
&lt;p&gt;If you want to prevent your web.config connection strings from being tokenized it&amp;rsquo;s pretty easy. All we need to do is the add a property to the build/package/publish process. We can do that in 2 ways. Edit the project file itself or create a file with the name {ProjectName}.wpp.targets where {ProjectName} is the name of your project. The second approach is easier so I use that. In my case it would be MvcApplication1.wpp.targets. The contents of the file are shown below.&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;xml&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;version&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;1.0&lt;/span&gt;"&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;encoding&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue;"&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;Project&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;span style="font-family: Consolas; color: red; font-size: 9.5pt;"&gt;xmlns&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;=&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;"&lt;span style="color: blue;"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;AutoParameterizationWebConfigConnectionStrings&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;false&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;AutoParameterizationWebConfigConnectionStrings&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;PropertyGroup&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9.5pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="line-height: normal; margin: 0in 0in 0pt; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: #a31515; font-size: 9.5pt;"&gt;Project&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9.5pt;"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Note: You may need to reload the project in Visual Studio for this to take effect.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Inside of this file I have declared the property, AutoParameterizationWebConfigConnectionStrings, to be false. This is telling the Web Publishing Pipeline (WPP) that it should not replace replace the connection strings with tokens, instead leave them as they are.&lt;/p&gt;
&lt;p&gt;Questions/Comments???&lt;/p&gt;
&lt;h4&gt;Other Resources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://sedodream.com/2010/04/26/ConfigTransformationsOutsideOfWebAppBuilds.aspx"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;Config transformations outside of web app builds&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://sedodream.com/2010/09/09/ExtendingXMLWebconfigConfigTransformation.aspx"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;Extending XML (web.config) Config transformation&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-align: left; widows: 2; text-transform: none; text-indent: 0px; letter-spacing: normal; border-collapse: separate; font: 14px 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; color: #333333; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span style="line-height: 18px; font-size: 12px;"&gt;Sayed Ibrahim Hashimi -&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style="outline-style: none; color: #0066dd; cursor: pointer; font-weight: normal; text-decoration: none;" href="http://twitter.com/sayedihashimi"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;@sayedihashimi&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10089287" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET/">ASP.NET</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/WAP/">WAP</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/PM/">PM</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web_2E00_config/">Web.config</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VS10/">VS10</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment/">Web Deployment</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSDeploy/">MSDeploy</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web-Config+Transformation/">Web.Config Transformation</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET+4/">ASP.NET 4</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Vs2010/">Vs2010</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category></item><item><title>How to solve JavaScript IntelliSense problems in VS2010</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/11/08/how-to-solve-javascript-intellisense-problems-in-vs2010.aspx</link><pubDate>Tue, 09 Nov 2010 00:30:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10087909</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10087909</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/11/08/how-to-solve-javascript-intellisense-problems-in-vs2010.aspx#comments</comments><description>&lt;p&gt;VS2010 should support all of the VS2008 JavaScript functionalities as shown in Scott Guthrie’s &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx"&gt;VS2008 JavaScript IntelliSense blog&lt;/a&gt;.&amp;#160; It includes:&lt;/p&gt;  &lt;p&gt;1. Basic type inference&lt;/p&gt;  &lt;p&gt;2. IntelliSense from referenced external JavaScript libraries&lt;/p&gt;  &lt;p&gt;3. IntelliSense from XML comments for functions, parameters and return types&lt;/p&gt;  &lt;p&gt;4. Calling web services using ASP.NET AJAX&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Additionally, VS2010 RTM had some improvement, including:&lt;/p&gt;  &lt;p&gt;1. IntelliSense when manipulating browser objects&lt;/p&gt;  &lt;p&gt;2. Dynamic generated variable IntelliSense&lt;/p&gt;  &lt;p&gt;3. Default JavaScript snippets within IntelliSense to help you code faster&lt;/p&gt;  &lt;p&gt;Scott Guthrie has a brief &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/04/08/javascript-intellisense-improvements-with-vs-2010.aspx"&gt;blog&lt;/a&gt; covering some of these.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Due to the dynamic feature of our JavaScript engine, we may run info conflicts between XML commented return types and inferred return types in some cases.&amp;#160; For example:&lt;/p&gt;  &lt;p&gt;1. Dynamically generated IntelliSense will override the XML commented return types.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; For example, the following code snippet shows string IntelliSense, instead of number IntelliSense:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5123.image_5F00_2.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/5516.image_5F00_thumb.png" width="395" height="395" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;This may lead to a confusing result sometimes.&amp;#160; The best way to solve this is to create a vsdoc commenting file, and remove the conflicting return statement from such functions, just like jquery-1.4.1-vsdoc.js in VS2010 RTM:&lt;/p&gt; &lt;/blockquote&gt;  &lt;pre class="code"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/0310.image_5F00_4.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-63-56-metablogapi/4848.image_5F00_thumb_5F00_1.png" width="428" height="384" /&gt;&lt;/a&gt; &lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;2. Sometimes, the JavaScript engine may meet an exception internally during dynamic function execution in the current or referenced document.&amp;#160; The cause could be a JavaScript function syntax error, logic bug, or the VS2010 JavaScript engine bug. The corresponding IntelliSense at this time will be shown as a simple object or not shown at all.&amp;#160; To support good IntelliSense behavior in this case, try build a VSDoc file, add XML comments and remove the offending code.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Some useful links:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/bleroy/archive/2007/04/23/the-format-for-javascript-doc-comments.aspx"&gt;Format of JavaScript doc comments&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/webdevtools/archive/2008/11/07/hotfix-to-enable-vsdoc-js-intellisense-doc-files-is-now-available.aspx?wa=wsignin1.0"&gt;VSDoc file look up orders&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Xinyang Qiu&lt;/p&gt;

&lt;p&gt;Web Platform and Tools&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10087909" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/IntelliSense/">IntelliSense</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/JScript/">JScript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/javascript/">javascript</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/VSDoc/">VSDoc</category></item><item><title>Web Deploy: How to see the command executed in Visual Studio during publish</title><link>http://blogs.msdn.com/b/webdevtools/archive/2010/11/03/web-deploy-how-to-see-the-command-executed-in-visual-studio-during-publish.aspx</link><pubDate>Thu, 04 Nov 2010 04:15:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10085881</guid><dc:creator>Web Development Tools Microsoft</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/webdevtools/rsscomments.aspx?WeblogPostID=10085881</wfw:commentRss><comments>http://blogs.msdn.com/b/webdevtools/archive/2010/11/03/web-deploy-how-to-see-the-command-executed-in-visual-studio-during-publish.aspx#comments</comments><description>&lt;p&gt;I just saw a post on &lt;a href="http://twitter.com/#!/troyahunt/status/29612666076"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;Twitter&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; asking the question&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;&lt;strong&gt;Is there any easy way to see the underlying MSBuild command when building in VS2010? Want to see the MSDeploy params. @&lt;/strong&gt;&lt;/em&gt;&lt;a href="http://twitter.com/wdeploy"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;wdeploy&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt;?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One thing to know is that when you publish from Visual Studio, by default&amp;nbsp;we use the MSDeploy&amp;nbsp;(AKA Web Deployment Tool)&amp;nbsp;Object Model in order to perform the deployment. We do this for performance and other reasons. Because of this there is no real msdeploy.exe command that is being issued. You can however change that behavior. This is controlled by an MSBuild property &lt;strong&gt;UseMSDeployExe&lt;/strong&gt; which is false by default. In this case since &lt;a href="http://twitter.com/troyahunt"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;Troy&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt; wants to see the command we will need to set that property to false. There are 2 ways in which you can do this. You can set it in the project file itself, or you can define it in a .wpp.targets file. I would recommend the second approach. What you need to do is to create a file with the name {ProjectName}.wpp.targets in the same directory as the project where {ProjectName} is the name of the Web Application Project (WAP). When you do this, during a build or publish the file is automatically imported into the build process. In my example I have a WAP named WebApplication1.csproj, so I created the file WebApplication1.wpp.targets and its contents are shown below.&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;xml&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;"&lt;span style="COLOR: blue"&gt;1.0&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;encoding&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;utf-8&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Project&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt;ToolsVersion&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;"&lt;span style="COLOR: blue"&gt;4.0&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;span style="COLOR: red"&gt;DefaultTargets&lt;/span&gt;&lt;span style="COLOR: blue"&gt;=&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;Build&lt;/span&gt;"&lt;span style="COLOR: blue"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt;xmlns&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;"&lt;span style="COLOR: blue"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/span&gt;"&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;PropertyGroup&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;UseMsdeployExe&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;true&lt;span style="COLOR: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #a31515"&gt;UseMsdeployExe&lt;/span&gt;&lt;span style="COLOR: blue"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;PropertyGroup&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; TEXT-AUTOSPACE: ; mso-layout-grid-align: none"&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Project&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In the snippet above you can see that I defined the property to true. Now there is one more thing to do, publish the project. Once you publish the project, in the output window you will see the MSDeploy command which is being used. In my case I published the project to &lt;strong&gt;&lt;em&gt;localhost&lt;/em&gt;&lt;/strong&gt; to the &lt;strong&gt;&lt;em&gt;Default Web Site/Test01&lt;/em&gt;&lt;/strong&gt; application path. You may have to copy the text from the output window into Notepad and search for msdeploy.exe. The command that was issued in my case is shown below (&lt;em&gt;with formatting changes for readability&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;"C:\Program Files (x86)\IIS\Microsoft Web Deploy\msdeploy.exe" &lt;br /&gt;-source:manifest='C:\temp\_NET\ThrowAway\WebApplication3\WebApplication1\obj\Debug\Package\WebApplication1.SourceManifest.xml' &lt;br /&gt;-dest:auto,IncludeAcls='False',AuthType='NTLM' &lt;br /&gt;-verb:sync &lt;br /&gt;-enableRule:DoNotDeleteRule &lt;br /&gt;-disableLink:AppPoolExtension &lt;br /&gt;-disableLink:ContentExtension &lt;br /&gt;-disableLink:CertificateExtension &lt;br /&gt;-setParam:kind='ProviderPath',&lt;br /&gt;&amp;nbsp;scope='IisApp',match='^C:\\temp\\_NET\\ThrowAway\\WebApplication3\\WebApplication1\\obj\\Debug\\Package\\PackageTmp$',&lt;br /&gt;&amp;nbsp;value='Default Web Site/Test01' &lt;br /&gt;-setParam:kind='ProviderPath',&lt;br /&gt;&amp;nbsp;scope='setAcl',&lt;br /&gt;&amp;nbsp;match='^C:\\temp\\_NET\\ThrowAway\\WebApplication3\\WebApplication1\\obj\\Debug\\Package\\PackageTmp$',&lt;br /&gt;&amp;nbsp;value='Default Web Site/Test01' &lt;br /&gt;-retryAttempts=2 &lt;br /&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s it, pretty simple.&lt;/p&gt;
&lt;p&gt;FYI, if you want more detail you can increase the MSBuild Output Window verbosity by going to Tools-&amp;gt;Options-&amp;gt;Projects and Solutions-&amp;gt;Build and Run then specifying a different value for &lt;strong&gt;&lt;em&gt;MSBuild project build output verbosity&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Note: Cross posted at: &lt;a href="http://sedodream.com/2010/11/04/WebDeployHowToSeeTheCommandExecutedInVisualStudioDuringPublish.aspx"&gt;http://sedodream.com/2010/11/04/WebDeployHowToSeeTheCommandExecutedInVisualStudioDuringPublish.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sayed Ibrahim Hashimi - &lt;a href="http://twitter.com/sayedihashimi"&gt;&lt;strong&gt;&lt;span style="color: #696969;"&gt;@sayedihashimi&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10085881" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/ASP-NET/">ASP.NET</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment/">Web Deployment</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/MSDeploy/">MSDeploy</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Sayed+Ibrahim+Hashimi/">Sayed Ibrahim Hashimi</category><category domain="http://blogs.msdn.com/b/webdevtools/archive/tags/Web+Deployment+Tool/">Web Deployment Tool</category></item></channel></rss>
