<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Laurent Kempé</title><link>http://weblogs.asp.net/lkempe/default.aspx</link><description>&lt;a href="http://www.techheadbrothers.com"&gt;One of the 
Tech Head Brothers...&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/lkempe" /><feedburner:info uri="lkempe" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Blog moved to www.laurentkempe.com</title><link>http://feedproxy.google.com/~r/lkempe/~3/xybqqGplIMU/blog-moved-to-www-laurentkempe-com.aspx</link><pubDate>Fri, 02 Apr 2010 16:11:08 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7427490</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7427490</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/04/02/blog-moved-to-www-laurentkempe-com.aspx#comments</comments><description>&lt;p&gt;You can find my new blog on its own domain now, &lt;a title="http://www.laurentkempe.com/" href="http://www.laurentkempe.com/"&gt;http://www.laurentkempe.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You might update your reader to use the new &lt;a href="http://feeds.feedburner.com/laurentkempe" target="_blank"&gt;rss feed&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After almost 7 years spent on weblogs.asp.net I decided that it was time to move my blog to it’s own location. On which I will continue to talk about technical interest I have but also about other things.&lt;/p&gt;  &lt;p&gt;Sorry for the annoyance and I hope that you will continue to follow me!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7427490" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=xybqqGplIMU:D98epyHoQ-0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=xybqqGplIMU:D98epyHoQ-0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=xybqqGplIMU:D98epyHoQ-0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=xybqqGplIMU:D98epyHoQ-0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/xybqqGplIMU" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/04/02/blog-moved-to-www-laurentkempe-com.aspx</feedburner:origLink></item><item><title>VisualSvn, TortoiseSvn and relocating a working copy</title><link>http://feedproxy.google.com/~r/lkempe/~3/5aMO84nu-WY/visualsvn-tortoisesvn-and-relocating-a-working-copy.aspx</link><pubDate>Thu, 28 Jan 2010 11:04:19 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7326039</guid><dc:creator>lkempe</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7326039</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/28/visualsvn-tortoisesvn-and-relocating-a-working-copy.aspx#comments</comments><description>&lt;p&gt;Whenever you have to relocate your svn working copy because the svn server url or protocol as changed, you need to use &lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSvn&lt;/a&gt;&amp;#160;&lt;a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-relocate.html" target="_blank"&gt;relocate&lt;/a&gt;. If, like me, you use &lt;a href="http://www.visualsvn.com/visualsvn/" target="_blank"&gt;VisualSvn&lt;/a&gt; plugin then you would need to quit Visual Studio and come back to Windows Explorer and &lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSvn&lt;/a&gt;, right click your project folder then find Relocate command:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4311387612_f21c311484_o1_431CA1D4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4311387612_f21c311484_o[1]" border="0" alt="4311387612_f21c311484_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4311387612_f21c311484_o1_thumb_020E2270.png" width="393" height="234" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Type in the dialog which open the new url of the svn repository, then click Ok.&lt;/p&gt;  &lt;p&gt;TortoiseSvn will then do it works and the next time you open Visual Studio you will have your working copy pointing to the new server.&lt;/p&gt;  &lt;p&gt;Read the &lt;a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-relocate.html" target="_blank"&gt;documentation on the following page&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If your repository has for some reason changed it's location (IP/URL). Maybe you're even stuck and can't commit and you don't want to checkout your working copy again from the new location and to move all your changed data back into the new working copy, TortoiseSVN → Relocate is the command you are looking for. It basically does very little: it scans all &lt;code&gt;entries&lt;/code&gt; files in the &lt;code&gt;.svn&lt;/code&gt; folder and changes the URL of the entries to the new value.&lt;/p&gt;    &lt;p&gt;You may be surprised to find that TortoiseSVN contacts the repository as part of this operation. All it is doing is performing some simple checks to make sure that the new URL really does refer to the same repository as the existing working copy.&lt;/p&gt;    &lt;h5&gt;Warning&lt;/h5&gt;    &lt;p&gt;&lt;em&gt;This is a very infrequently used operation&lt;/em&gt;. The relocate command is&lt;em&gt;only&lt;/em&gt; used if the URL of the repository root has changed. Possible reasons are:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;The IP address of the server has changed.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;The protocol has changed (e.g. http:// to https://).&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;The repository root path in the server setup has changed.&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Put another way, you need to relocate when your working copy is referring to the same location in the same repository, but the repository itself has moved.&lt;/p&gt;    &lt;p&gt;It does not apply if:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;You want to move to a different Subversion repository. In that case you should perform a clean checkout from the new repository location.&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;You want to switch to a different branch or directory within the same repository. To do that you should use TortoiseSVN →Switch.... Read &lt;a href="http://tortoisesvn.net/tsvn-dug-branchtag.html#tsvn-dug-switch-1"&gt;the section called “To Checkout or to Switch...”&lt;/a&gt; for more information.&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;If you use relocate in either of the cases above, it &lt;em&gt;will corrupt your working copy&lt;/em&gt; and you will get many unexplainable error messages while updating, committing, etc. Once that has happened, the only fix is a fresh checkout.&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7326039" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=5aMO84nu-WY:u0bmNKDoMXo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=5aMO84nu-WY:u0bmNKDoMXo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=5aMO84nu-WY:u0bmNKDoMXo:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=5aMO84nu-WY:u0bmNKDoMXo:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/5aMO84nu-WY" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/VisualSVN/default.aspx">VisualSVN</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/28/visualsvn-tortoisesvn-and-relocating-a-working-copy.aspx</feedburner:origLink></item><item><title>NDepend v3 - now 100% integrated in Visual Studio</title><link>http://feedproxy.google.com/~r/lkempe/~3/kULjQ0bujOw/ndepend-v3-now-100-integrated-in-visual-studio.aspx</link><pubDate>Thu, 28 Jan 2010 10:01:47 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7325982</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7325982</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/28/ndepend-v3-now-100-integrated-in-visual-studio.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://codebetter.com/blogs/patricksmacchia/" target="_blank"&gt;Patrick&lt;/a&gt; just announced on his blog the launch of the new &lt;a href="http://www.ndepend.com/Version3BetaProgram.aspx" target="_blank"&gt;NDepend v3&lt;/a&gt;. It is still in beta but very stable. I am testing it for a month now and enjoy very much it’s integration in Visual Studio 2008. I was using it and will continue to use it in our continuous integration server, &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt;. But getting feedback right out of the developer environment is a very interesting feature.&lt;/p&gt;  &lt;p&gt;Read more on Patrick’s blog post, “&lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2010/01/28/ndepend-v3-is-now-100-integrated-in-visual-studio.aspx" target="_blank"&gt;NDepend v3 is now 100% integrated in Visual Studio&lt;/a&gt;“&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Even on large code base, made of hundreds of thousands of lines of code and dozens of VS projects, Visual Studio is not noticeably slow down by the NDepend v3 addin.&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;VisualStudio 2010, 2008 and 2005&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Simply put, what NDepend v2 does in the Continuous Integration/Build process, NDepend v3 does it live at development-time inside Visual Studio&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Multi VS solutions wide-analysis and collaboration&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Rich Code Search in VS&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Multi CQL Query Edition in VS&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Code visualization in VS&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Continuous comparison with a base line in VS&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Reflector disassembly’s comparison&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Deep VS Integration&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;NDepend Session state preserved&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/ProgressCircleTooltip1_143E4AF5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ProgressCircleTooltip[1]" border="0" alt="ProgressCircleTooltip[1]" src="http://weblogs.asp.net/blogs/lkempe/ProgressCircleTooltip1_thumb_407AD1D9.png" width="571" height="457" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Well done Patrick!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7325982" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=kULjQ0bujOw:mebVvbmF9ts:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=kULjQ0bujOw:mebVvbmF9ts:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=kULjQ0bujOw:mebVvbmF9ts:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=kULjQ0bujOw:mebVvbmF9ts:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/kULjQ0bujOw" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/continuous+integration/default.aspx">continuous integration</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/Team+City/default.aspx">Team City</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/NDepend/default.aspx">NDepend</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/28/ndepend-v3-now-100-integrated-in-visual-studio.aspx</feedburner:origLink></item><item><title>White’s tip for your automated WPF functional tests</title><link>http://feedproxy.google.com/~r/lkempe/~3/QIoEEQDTNSk/white-s-tip-for-your-automated-wpf-functional-tests.aspx</link><pubDate>Wed, 27 Jan 2010 20:24:03 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7325332</guid><dc:creator>lkempe</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7325332</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/27/white-s-tip-for-your-automated-wpf-functional-tests.aspx#comments</comments><description>&lt;p&gt;When you build automated WPF functional test using &lt;a href="http://white.codeplex.com/" target="_blank"&gt;White&lt;/a&gt; in which you need to open a file through a Windows open file dialog, you will be confronted with the following issue. Windows open file dialog remember the last path with which you opened a file.&lt;/p&gt;  &lt;p&gt;So you might have some unit tests that are green for a while which starts to be red for no apparent reasons. &lt;/p&gt;  &lt;p&gt;The solution I came to is as this. &lt;/p&gt;  &lt;p&gt;First I use Visual Studio, Copy to Output Directory, to copy the needed file to the output directoy in which your software will be started by the unit tests, e.g. for notValidVersionZip.zip&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4309956698_b62daf51f5_o1_50F26E1E.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4309956698_b62daf51f5_o[1]" border="0" alt="4309956698_b62daf51f5_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4309956698_b62daf51f5_o1_thumb_67D13F9A.png" width="318" height="263" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So now I am sure that the needed file is in the same path than the application. I then also need to be sure that when the application start the Windows open file dialog it points to this path. In the past implementation I was just using a filename and was lucky enough the path used by the Windows open file dialog was the correct one.&lt;/p&gt;  &lt;p&gt;To get to the correct path is easy. We just navigate to the correct path using the Windows open file dialog in an automated way. The correct path is the path in which the application as been started, so you can get it like that:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:55e8cf34-3def-431e-90fb-9299e1c955a7" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; Gets the current path.&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#808080"&gt;///&lt;/span&gt;&lt;span style="color:#008000"&gt; &lt;/span&gt;&lt;span style="color:#808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; GetCurrentPath()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af"&gt;Path&lt;/span&gt;.GetDirectoryName(&lt;span style="color:#2b91af"&gt;Assembly&lt;/span&gt;.GetExecutingAssembly().CodeBase);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;We have the correct path and we still need to automate the Windows open file dialog to navigate to that path. We can do this like that:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:13db65e7-54b9-402d-9138-c33cb2c3791e" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Open(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; filename)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;OpenButton.Click();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; openModalWindow = &lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;MainWindow.ModalWindow(&lt;span style="color:#a31515"&gt;&amp;quot;Please choose a Zip file&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af"&gt;InitializeOption&lt;/span&gt;.NoCache);&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#2b91af"&gt;Assert&lt;/span&gt;.IsNotNull(openModalWindow);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; splittedPath = GetCurrentPath().Split(&lt;span style="color:#0000ff"&gt;new&lt;/span&gt;[] { &lt;span style="color:#a31515"&gt;&amp;#39;&amp;#92;&amp;#92;&amp;#39;&lt;/span&gt; });&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;nbsp;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; pathPart &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; splittedPath)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;openModalWindow.Enter(pathPart);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;openModalWindow.Keyboard.PressSpecialKey(&lt;span style="color:#2b91af"&gt;KeyboardInput&lt;/span&gt;.&lt;span style="color:#2b91af"&gt;SpecialKeys&lt;/span&gt;.RETURN);&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;openModalWindow.WaitWhileBusy();&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;openModalWindow.Enter(filename);&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;openModalWindow.Keyboard.PressSpecialKey(&lt;span style="color:#2b91af"&gt;KeyboardInput&lt;/span&gt;.&lt;span style="color:#2b91af"&gt;SpecialKeys&lt;/span&gt;.RETURN);&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Basically we split the path into it different path parts that White will enter into the dialog followed by a enter. Don’t forget to use the method &lt;strong&gt;WaitWhileBusy()&lt;/strong&gt; after each enter, otherwise it will be too fast and sometime your test will not go to the correct path and then will not find the file.&lt;/p&gt;  &lt;p&gt;Finally White enter the filename followed by enter and the file is opened.&lt;/p&gt;  &lt;p&gt;Nice!&lt;/p&gt;  &lt;p&gt;If you are using like me &lt;a href="http://www.jetbrains.com/resharper/index.html" target="_blank"&gt;ReSharper&lt;/a&gt; to run your unit tests don’t forget to set it up to run tests from Project output folder.&lt;a href="http://weblogs.asp.net/blogs/lkempe/4309993844_8d9e828f8c_o1_46056709.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4309993844_8d9e828f8c_o[1]" border="0" alt="4309993844_8d9e828f8c_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4309993844_8d9e828f8c_o1_thumb_0B3DBE33.png" width="463" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7325332" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=QIoEEQDTNSk:Cw165O5Pako:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=QIoEEQDTNSk:Cw165O5Pako:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=QIoEEQDTNSk:Cw165O5Pako:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=QIoEEQDTNSk:Cw165O5Pako:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/QIoEEQDTNSk" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/WPF/default.aspx">WPF</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/unit+test/default.aspx">unit test</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/white/default.aspx">white</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/27/white-s-tip-for-your-automated-wpf-functional-tests.aspx</feedburner:origLink></item><item><title>Automated WPF functional tests using White</title><link>http://feedproxy.google.com/~r/lkempe/~3/hWxeHHRbvzA/automated-wpf-functional-tests-using-white.aspx</link><pubDate>Wed, 27 Jan 2010 19:50:57 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7325288</guid><dc:creator>lkempe</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7325288</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/27/automated-wpf-functional-tests-using-white.aspx#comments</comments><description>&lt;p&gt;I’d like to introduce a tool that I have added for a month or two in my toolset. This tool is &lt;a href="http://white.codeplex.com/" target="_blank"&gt;White&lt;/a&gt; from &lt;a href="http://opensource.thoughtworks.com/" target="_blank"&gt;ThoughtWorks&lt;/a&gt;. Here is the description of White: &lt;/p&gt;  &lt;blockquote&gt;   &lt;h3&gt;&lt;a href="http://white.codeplex.com/" target="_blank"&gt;White: Automate windows applications&lt;/a&gt; &lt;/h3&gt; White supports all rich client applications, which are Win32, WinForm, &lt;strong&gt;WPF &lt;/strong&gt;and SWT (java).    &lt;br /&gt;It is &lt;strong&gt;.NET based &lt;/strong&gt;and hence you wouldn't have use proprietary scripting language. You can use your favourite .NET language, IDE and tools for developing tests/automation programs.    &lt;br /&gt;White provides consistent object oriented API for all kinds of applications. Also it hides all the complexity of Microsoft's UIAutomation library and windows messages (on which it is based).    &lt;br /&gt;&lt;b&gt;(While WHITE is completely ready to be used, the documentation is still work under progress. Please do point out the areas which needs documentation.)&lt;/b&gt;&lt;/blockquote&gt;  &lt;p&gt;When I found White with it’s version 0.19, I was a bit skeptical about the state of this piece of software. But it is really ready to be used.&lt;/p&gt;  &lt;p&gt;By the way the latest &lt;a href="http://white.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=20372#ReleaseFiles" target="_blank"&gt;version 0.19&lt;/a&gt; of White supports also &lt;a href="http://white.codeplex.com/wikipage?title=Silverlight&amp;amp;referringTitle=Home" target="_blank"&gt;Silverlight&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I had the need to automate some functional tests of a WPF application that I am working on. When such an application is growing it becomes more and more difficult to do functional tests manually, so it needs automation.&lt;/p&gt;  &lt;p&gt;So what I was searching for was something that would let me write unit tests in C# with NUnit which automate a WPF application. It is not that I don’t want to learn another language but I needed to be efficient so I preferred to use something I knew. And what I have found is &lt;a href="http://white.codeplex.com/" target="_blank"&gt;White&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I have tested it with the &lt;a href="http://www.telerik.com/products/wpf/ribbonbar.aspx" target="_blank"&gt;RadRibbonBar for WPF of Telerik&lt;/a&gt; and it works just great. btw Thanks to Telerik for the offered license, which my company &lt;a href="http://www.innoveo.com/" target="_blank"&gt;Innoveo Solutions&lt;/a&gt; also ordered now.&lt;/p&gt;  &lt;p&gt;If you are starting with automated functional testing I recommend you to read the &lt;a href="http://white.codeplex.com/wikipage?title=Functional%20Testing"&gt;Functional Testing&lt;/a&gt;. It explains step by step how to write automated functional tests with White. The basic can be also used with another tool.&lt;/p&gt;  &lt;p&gt;It is funny to see you application running without you clicking around.&lt;/p&gt;  &lt;p&gt;I still need to have this run by our build server, &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt;. I have currently not done any investigation on that point. I plan to have those tests running at least nightly, but I have to see how the unit tests could be started on an environment with a desktop.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7325288" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=hWxeHHRbvzA:DHYDfOI1CnA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=hWxeHHRbvzA:DHYDfOI1CnA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=hWxeHHRbvzA:DHYDfOI1CnA:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=hWxeHHRbvzA:DHYDfOI1CnA:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/hWxeHHRbvzA" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/WPF/default.aspx">WPF</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/unit+test/default.aspx">unit test</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/white/default.aspx">white</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/27/automated-wpf-functional-tests-using-white.aspx</feedburner:origLink></item><item><title>The beauty of C# and Linq</title><link>http://feedproxy.google.com/~r/lkempe/~3/x_4z3zKwG0k/the-beauty-of-c-and-linq.aspx</link><pubDate>Mon, 25 Jan 2010 20:57:12 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7322937</guid><dc:creator>lkempe</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7322937</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/25/the-beauty-of-c-and-linq.aspx#comments</comments><description>&lt;p&gt;Today I faced the following challenge to solve: return all possible combinations of three source collections.&lt;/p&gt;  &lt;p&gt;We are using C# and with Linq it was just so easy.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:4d864d53-59b3-4fa4-abf7-37489ccb240f" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#0000ff"&gt;string&lt;/span&gt;&amp;gt; Contexts&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;get&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;var&lt;/span&gt; result = &lt;span style="color:#0000ff"&gt;from&lt;/span&gt; u &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; SelectedUseCases&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;from&lt;/span&gt; c &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; SelectedChannels&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;from&lt;/span&gt; up &lt;span style="color:#0000ff"&gt;in&lt;/span&gt; SelectedUserProfiles&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;select&lt;/span&gt; &lt;span style="color:#0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515"&gt;&amp;quot;{0}-{1}-{2}&amp;quot;&lt;/span&gt;, u.Value, c.Value, up.Value);&lt;/li&gt; &lt;li&gt;&amp;nbsp;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;return&lt;/span&gt; result.ToList();&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Simple and beautiful!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7322937" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=x_4z3zKwG0k:SeQpPTC-Lw8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=x_4z3zKwG0k:SeQpPTC-Lw8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=x_4z3zKwG0k:SeQpPTC-Lw8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=x_4z3zKwG0k:SeQpPTC-Lw8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/x_4z3zKwG0k" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/Linq/default.aspx">Linq</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/25/the-beauty-of-c-and-linq.aspx</feedburner:origLink></item><item><title>ClickOnce ISignedCode::Sign returned error: 0x80880253</title><link>http://feedproxy.google.com/~r/lkempe/~3/yc7yGgDuDRg/clickonce-isignedcode-sign-returned-error-0x80880253.aspx</link><pubDate>Mon, 11 Jan 2010 21:08:53 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7307362</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7307362</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/11/clickonce-isignedcode-sign-returned-error-0x80880253.aspx#comments</comments><description>&lt;p&gt;Tonight we got the following issue on our &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt; build server which produce different ClickOnce setups :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;c:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(3652, 9): &lt;strong&gt;error MSB3482: An error occurred while signing: Failed to sign ..\..\Tests\Output\bin\DeployClickOnce\app.publish\setup.exe&lt;/strong&gt;.&amp;#160; &lt;br /&gt;&lt;strong&gt;SignTool Error: ISignedCode::Sign returned error: 0x80880253       &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;The signer's certificate is not valid for signing.&lt;/strong&gt;      &lt;br /&gt;SignTool Error: An error occurred while attempting to sign: ..\..\Tests\Output\bin\DeployClickOnce\app.publish\setup.exe&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Checking the certificate used by our project I found that the expiration date was yesterday:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4267117780_617c4d5071_o1_2F2A08B4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4267117780_617c4d5071_o[1]" border="0" alt="4267117780_617c4d5071_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4267117780_617c4d5071_o1_thumb_74625FDD.png" width="595" height="203" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So I had first to create a new test certificate.&lt;/p&gt;  &lt;p&gt;Then I had to re-install the certificate on the server, as described in “&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/02/clickonce-certificate-and-teamcity.aspx" target="_blank"&gt;ClickOnce certificate and TeamCity&lt;/a&gt;”. Before installing I had to remove the old one using:&lt;/p&gt;  &lt;p&gt;&amp;gt; Psexec.exe -i -s cmd.exe&lt;/p&gt;  &lt;p&gt;then running&lt;/p&gt;  &lt;p&gt;&amp;gt; mmc&lt;/p&gt;  &lt;p&gt;and removing by hand the old certifcate.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7307362" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=yc7yGgDuDRg:poKVJ3DKfM0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=yc7yGgDuDRg:poKVJ3DKfM0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=yc7yGgDuDRg:poKVJ3DKfM0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=yc7yGgDuDRg:poKVJ3DKfM0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/yc7yGgDuDRg" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/continuous+integration/default.aspx">continuous integration</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/Team+City/default.aspx">Team City</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/MSBuild/default.aspx">MSBuild</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/ClickOnce/default.aspx">ClickOnce</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/11/clickonce-isignedcode-sign-returned-error-0x80880253.aspx</feedburner:origLink></item><item><title>Review of 2009 blog posts</title><link>http://feedproxy.google.com/~r/lkempe/~3/EZP_12RGi-8/review-of-2009-blog-posts.aspx</link><pubDate>Sat, 09 Jan 2010 10:12:20 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7305411</guid><dc:creator>lkempe</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7305411</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/09/review-of-2009-blog-posts.aspx#comments</comments><description>&lt;p&gt;Find here a list of all my 38 posts for 2009! In the bold, the posts which got most traffic.&lt;/p&gt;  &lt;p&gt;January&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/01/27/asp-net-mvc-goes-rc.aspx"&gt;ASP.NET MVC goes RC&lt;/a&gt;&amp;#160;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/01/14/jquery-goes-1-3.aspx"&gt;jQuery goes 1.3&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;February&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/02/25/tech-head-brothers-in-st-barth-french-west-indies.aspx"&gt;Tech Head Brothers in St.Barth French West Indies&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/02/22/ati-drivers-installation-on-my-hp-notebook.aspx"&gt;ATI Drivers installation on my HP notebook&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/02/21/pong-game-using-winforms-designmode.aspx"&gt;&lt;strong&gt;Pong game using WinForms designmode&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/02/21/eclipse4sl-eclipse-tools-for-silverlight.aspx"&gt;Eclipse4SL – Eclipse Tools for Silverlight&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;March&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/03/13/resharper-4-5-beta-released.aspx"&gt;ReSharper 4.5 Beta Released&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;April&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/04/17/memory-leak-with-wpf-resources.aspx"&gt;&lt;strong&gt;Memory leak with WPF resources&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/04/16/five-ways-to-build-team-trust-amp-framework-for-feedback.aspx"&gt;&lt;strong&gt;Five Ways To Build Team Trust &amp;amp; Framework for Feedback&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/04/16/attending-the-quot-wpf-for-lob-quot-training-tour-in-london.aspx"&gt;&lt;strong&gt;Attending the &amp;quot;WPF FOR LOB&amp;quot; TRAINING TOUR in London&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/04/10/resharper-4-5-released.aspx"&gt;&lt;strong&gt;ReSharper 4.5 released&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/04/10/ati-drivers-installation-on-my-hp-nw8440-notebook.aspx"&gt;ATI Drivers installation on my HP NW8440 notebook&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;May&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/05/09/updated-my-live-template-for-nunit-in-resharper.aspx"&gt;&lt;strong&gt;Updated my Live Template for NUnit in ReSharper&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;July&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/06/09/did-you-know-that-if-you-re-an-msdn-subscriber-you-can-get-telerik-wpf-controls-free-misfit-geek.aspx"&gt;&lt;strong&gt;Did you know that if you’re an MSDN Subscriber you can get Telerik WPF controls FREE ? : Misfit Geek&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;August&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/08/24/funny-i-am-on-google-street-view.aspx"&gt;Funny, I am on Google Street View&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/08/24/set-default-printer-per-network-on-windows-7.aspx"&gt;&lt;strong&gt;Set default printer per network on Windows 7&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/08/21/how-to-connect-to-sql-azure.aspx"&gt;How to connect to SQL Azure&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;September&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/09/11/build-your-net-project-with-a-right-click-in-windows-explorer.aspx"&gt;&lt;strong&gt;Build your .NET project with a right click in Windows Explorer&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/09/06/devices-and-printers-empty-on-windows-7.aspx"&gt;Devices and Printers empty on Windows 7&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/09/06/joining-jetbrains-academy.aspx"&gt;Joining JetBrains Academy&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;October&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/10/27/build-clickonce-deployment-packages-using-msbuild-and-team-city.aspx"&gt;Build ClickOnce deployment packages using MSBuild and Team City&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/10/20/daily-stand-up-meeting-using-skype.aspx"&gt;Daily stand up meeting using Skype&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/10/13/mvvm-light-toolkit-v2.aspx"&gt;&lt;strong&gt;MVVM Light Toolkit V2&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/10/12/resharper-5-0-overview.aspx"&gt;ReSharper 5.0 Overview&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/10/08/unit-tests-without-leaving-the-keyboard.aspx"&gt;&lt;strong&gt;Unit Tests without leaving the keyboard&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;November&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/30/visualsvn-and-pending-changes.aspx"&gt;VisualSVN and Pending Changes&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/12/displaying-application-version-on-teamcity-home-page.aspx"&gt;Displaying application version on TeamCity home page&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/11/automating-publish-of-clickonce-with-teamcity.aspx"&gt;Automating Publish of ClickOnce with TeamCity&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/04/watch-several-teamcity-servers-with-windows-tray-notifier.aspx"&gt;Watch Several TeamCity Servers With Windows Tray Notifier&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/03/windows-backup-xbox-360-media-extender-and-0x80070002-error.aspx"&gt;Windows Backup, Xbox 360 media extender and 0x80070002 error&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/03/build-multiple-clickonce-deployment-packages-using-msbuild-and-team-city.aspx"&gt;Build multiple ClickOnce deployment packages using MSBuild and Team City&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/02/building-clickonce-with-teamcity.aspx"&gt;Building ClickOnce with TeamCity&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/02/teamcity-migration-tip.aspx"&gt;TeamCity migration tip&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/11/02/clickonce-certificate-and-teamcity.aspx"&gt;ClickOnce certificate and TeamCity&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;December&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/12/10/teamcity-5-0-failed-to-collect-changes-error-issue.aspx"&gt;TeamCity 5.0 '​Failed to collect changes error' issue&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/12/03/teamcity-5-0-released.aspx"&gt;TeamCity 5.0 Released!&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/12/02/projectreference-with-condition-in-your-msbuild-project-files.aspx"&gt;&lt;strong&gt;ProjectReference with Condition in your MSBuild project files&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.asp.net/lkempe/archive/2009/12/01/mvvm-light-toolkit-v3-alpha-3-for-wpf4-sl4.aspx"&gt;MVVM Light Toolkit V3 Alpha 3 for WPF4/SL4&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7305411" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=EZP_12RGi-8:x9BDthBmDdU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=EZP_12RGi-8:x9BDthBmDdU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=EZP_12RGi-8:x9BDthBmDdU:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=EZP_12RGi-8:x9BDthBmDdU:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/EZP_12RGi-8" height="1" width="1"/&gt;</description><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/09/review-of-2009-blog-posts.aspx</feedburner:origLink></item><item><title>Limit issues with Eclipse when using VisualSVN/TortoiseSVN</title><link>http://feedproxy.google.com/~r/lkempe/~3/8GE0TXwA3XA/limit-issues-with-eclipse-when-using-visualsvn-tortoisesvn.aspx</link><pubDate>Thu, 07 Jan 2010 12:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7303185</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7303185</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/07/limit-issues-with-eclipse-when-using-visualsvn-tortoisesvn.aspx#comments</comments><description>&lt;p&gt;In some rare case I have to use Eclipse configured to access our &lt;a href="http://www.innoveo.com/" target="_blank"&gt;Innoveo Solutions&lt;/a&gt; svn server. I also for sure have Visual Studio 2008 with VisualSvn installed which install TortoiseSvn.&lt;/p&gt;  &lt;p&gt;Today I faced the following crazy issue, from a file browse window opened through Eclipse, I saw that one file was modified so I did from that file browse window a svn revert using TortoiseSvn which ended to a crazy situation in Eclipse. It was totally messed up.&lt;/p&gt;  &lt;p&gt;So to avoid this, I configured &lt;a href="http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/ch05s25.html" target="_blank"&gt;TortoiseSvn Exclude Paths&lt;/a&gt; not to show me this folder and subfolder with icon overlays:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4253062219_8a93a90c4d_o1_250CF5EA.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4253062219_8a93a90c4d_o[1]" border="0" alt="4253062219_8a93a90c4d_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4253062219_8a93a90c4d_o1_thumb_54E797AB.png" width="709" height="474" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I hope this will save me from those crazy situations!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7303185" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=8GE0TXwA3XA:ekiwWg53FoI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=8GE0TXwA3XA:ekiwWg53FoI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=8GE0TXwA3XA:ekiwWg53FoI:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=8GE0TXwA3XA:ekiwWg53FoI:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/8GE0TXwA3XA" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/VisualSVN/default.aspx">VisualSVN</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/07/limit-issues-with-eclipse-when-using-visualsvn-tortoisesvn.aspx</feedburner:origLink></item><item><title>Visual Studio 2008 little tip</title><link>http://feedproxy.google.com/~r/lkempe/~3/8-EmpHLIdvA/visual-studio-2008-little-tip.aspx</link><pubDate>Wed, 06 Jan 2010 22:27:59 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7302559</guid><dc:creator>lkempe</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7302559</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/06/visual-studio-2008-little-tip.aspx#comments</comments><description>&lt;p&gt;Tonight I found a little tip that you might already know but for me it was the first time I realize that.&lt;/p&gt;  &lt;p&gt;When you want to open the properties of a project in Visual Studio 2008, in the past I was doing a right click on the project then I was searching for couple of seconds the entry properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4251657661_0caae12aa4_o1_01789587.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4251657661_0caae12aa4_o[1]" border="0" alt="4251657661_0caae12aa4_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4251657661_0caae12aa4_o1_thumb_7FC7C9B2.png" width="279" height="302" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And since today I do it slightly differently I expand the project and double click on the Properties folder which open the Properties of the project, obvious (at least when you know it ;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4251663871_e39685f837_o1_5DFBF121.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4251663871_e39685f837_o[1]" border="0" alt="4251663871_e39685f837_o[1]" src="http://weblogs.asp.net/blogs/lkempe/4251663871_e39685f837_o1_thumb_078FBC55.png" width="164" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7302559" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=8-EmpHLIdvA:m20_15UU8hY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=8-EmpHLIdvA:m20_15UU8hY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=8-EmpHLIdvA:m20_15UU8hY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=8-EmpHLIdvA:m20_15UU8hY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/8-EmpHLIdvA" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/06/visual-studio-2008-little-tip.aspx</feedburner:origLink></item><item><title>Optimization of Web Site hosted on IIS 6</title><link>http://feedproxy.google.com/~r/lkempe/~3/oB-XGA2qG-c/optimization-of-web-site-hosted-on-iis-6.aspx</link><pubDate>Sun, 03 Jan 2010 10:33:51 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7298572</guid><dc:creator>lkempe</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7298572</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2010/01/03/optimization-of-web-site-hosted-on-iis-6.aspx#comments</comments><description>&lt;p&gt;The other day I had to re-install my whole server which is hosting &lt;a href="http://www.techheadbrothers.com/" target="_blank"&gt;Tech Head Brothers&lt;/a&gt;. I had also to redo the configuration to have IIS deliver compressed content. I was quite sure to have a post on this but the only thing I could find was “&lt;a href="http://weblogs.asp.net/lkempe/archive/2007/07/25/optimization-of-a-web-site-using-content-expiration-iis-6-0.aspx" target="_blank"&gt;Optimization of a Web Site - Using Content Expiration (IIS 6.0)&lt;/a&gt;”&lt;/p&gt;  &lt;p&gt;So I started from scratch and after some issues I finally managed to have it running. I started uisng the following post from Scott Forsyth, “&lt;a href="http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx" target="_blank"&gt;IIS Compression in IIS6.0&lt;/a&gt;” and I took over those steps from his post:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;First, before anything else, backup the metabase.&amp;#160; &lt;/em&gt;&lt;/strong&gt;This is done by right-clicking on the server in the IIS snap-in and selecting All Tasks -&amp;gt; Backup/Restore Configuration.&amp;#160; The rest is straight forward.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Create Compression Folder (optional)&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;The first thing I do is create a folder on the D drive where the static file compression will be cached. You can call it anything you want or leave the default of “%windir%\IIS Temporary Compressed Files” if that works for you. The IUSR_{machinename} will need write permission to the folder. If you use custom anonymous users, make sure to assign the proper user. IIS will still work even if the permissions are wrong but the compression won't work properly. Once running, it's worth double checking Event Viewer to see if any errors are occurring that keep IIS Compression from working.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Enable Compression in IIS&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;- From the IIS snap-in, right-click on the Web Sites node and click on Properties     &lt;br /&gt;- Select the Service tab - Enable &lt;em&gt;Compress application files&lt;/em&gt;      &lt;br /&gt;- Enable &lt;em&gt;Compress static files&lt;/em&gt;      &lt;br /&gt;- Change Temporary Directory to the folder that you created above, or leave it at it's default      &lt;br /&gt;- Set the max size of the temp folder to something that the hard drive can handle. i.e. 1000.&amp;#160; &lt;br /&gt;- Save and close the Web Site Properties dialog&lt;/p&gt;    &lt;p&gt;Note: The temporary compress directory is only used for static pages.&amp;#160; Dynamic pages aren't saved to disk and are recreated every time so there is some CPU overhead used on every page request for dynamic content.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And from the last part I did the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open the metabase located at C:\Windows\system32\inetsrv\metabase.xml in Notepad&lt;/li&gt;    &lt;li&gt;Search for &amp;lt;IIsCompressionScheme &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And changed it like this, take care of the carriage return for the HcFileExtensions and HcScriptFileExtensions, it is important:&lt;/p&gt;  &lt;p&gt;&amp;lt;IIsCompressionScheme&amp;#160;&amp;#160;&amp;#160; Location =&amp;quot;/LM/W3SVC/Filters/Compression/deflate&amp;quot;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcCompressionDll=&amp;quot;%windir%\system32\inetsrv\gzip.dll&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcCreateFlags=&amp;quot;0&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoDynamicCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoOnDemandCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoStaticCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDynamicCompressionLevel=&amp;quot;&lt;strong&gt;9&lt;/strong&gt;&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt; HcFileExtensions=&amp;quot;css     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; htm      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; html      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; js      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; txt&amp;quot;      &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcOnDemandCompLevel=&amp;quot;&lt;strong&gt;9&lt;/strong&gt;&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcPriority=&amp;quot;1&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;HcScriptFileExtensions=&amp;quot;asp     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; aspx      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; axd&amp;quot;      &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;gt;    &lt;br /&gt;&amp;lt;/IIsCompressionScheme&amp;gt;    &lt;br /&gt;&amp;lt;IIsCompressionScheme&amp;#160;&amp;#160;&amp;#160; Location =&amp;quot;/LM/W3SVC/Filters/Compression/gzip&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcCompressionDll=&amp;quot;%windir%\system32\inetsrv\gzip.dll&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcCreateFlags=&amp;quot;1&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoDynamicCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoOnDemandCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDoStaticCompression=&amp;quot;TRUE&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcDynamicCompressionLevel=&amp;quot;&lt;strong&gt;9&lt;/strong&gt;&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt; HcFileExtensions=&amp;quot;css     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; htm      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; html      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; js&amp;quot;      &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcOnDemandCompLevel=&amp;quot;&lt;strong&gt;9&lt;/strong&gt;&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HcPriority=&amp;quot;2&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt; HcScriptFileExtensions=&amp;quot;asp     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; aspx      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; axd&amp;quot;      &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;gt;&lt;/p&gt;  &lt;p&gt;And then as I explained in the post “&lt;a href="http://weblogs.asp.net/lkempe/archive/2007/07/25/optimization-of-a-web-site-using-content-expiration-iis-6-0.aspx" target="_blank"&gt;Optimization of a Web Site - Using Content Expiration (IIS 6.0)&lt;/a&gt;” I then reconfigured the content expiration &amp;quot;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0fc16fe7-be45-4033-a5aa-d7fda3c993ff.mspx?mfr=true"&gt;Using Content Expiration (IIS 6.0)&lt;/a&gt;&amp;quot;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7298572" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=oB-XGA2qG-c:V2zprrlDY8M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=oB-XGA2qG-c:V2zprrlDY8M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=oB-XGA2qG-c:V2zprrlDY8M:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=oB-XGA2qG-c:V2zprrlDY8M:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/oB-XGA2qG-c" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/IIS/default.aspx">IIS</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2010/01/03/optimization-of-web-site-hosted-on-iis-6.aspx</feedburner:origLink></item><item><title>TeamCity 5.0 '​Failed to collect changes error' issue</title><link>http://feedproxy.google.com/~r/lkempe/~3/M02dEqs66Ko/teamcity-5-0-failed-to-collect-changes-error-issue.aspx</link><pubDate>Thu, 10 Dec 2009 20:49:21 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7275736</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7275736</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2009/12/10/teamcity-5-0-failed-to-collect-changes-error-issue.aspx#comments</comments><description>&lt;p&gt;Tonight I was facing an issue with &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt; 5.0 plugin in Visual Studio 2008. &lt;/p&gt;  &lt;p&gt;I was getting the error message '​Failed to collect changes error' in the new Local changes window.&lt;/p&gt;  &lt;p&gt;Searching on the bug tracking tool of JetBrains for TeamCity I found this issue &amp;quot;&lt;a href="http://youtrack.jetbrains.net/issue/TW-10474" target="_blank"&gt;TW-10474 I can not make VS addin recollect changes after recieveing '​Failed to collect changes error'&lt;/a&gt;”&lt;/p&gt;  &lt;p&gt;Has this issue breaks my way to work with pre-tested build I decided to search for a solution because I cannot work without this now!&lt;/p&gt;  &lt;p&gt;So following the instruction &amp;quot;Logging in TeamCity Visual Studio plugin&amp;quot; : &lt;a href="http://www.jetbrains.net/confluence/display/TCD3/Reporting+Issues"&gt;Reporting Issues&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Looking at the produced logs I found this: &lt;/p&gt;  &lt;p&gt;9:28:24 PM.987: Thread:31: svn.exe info &amp;quot;&lt;del&gt;xml&amp;quot; &amp;quot;&lt;/del&gt;non-interactive&amp;quot; &amp;quot;p:\@projects\_handsup\portal&amp;quot;    &lt;br /&gt;&lt;b&gt;9:28:24 PM.987: Thread:31: Failed to execute svn. code 1, error svn: Try 'svn help' for more info svn: Syntax error parsing revision 'projects\_handsup\portal' , output &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &amp;lt;info&amp;gt;&lt;/b&gt;    &lt;br /&gt;9:28:24 PM.991: Thread:31: EXCEPTION: svn: Try 'svn help' for more info    &lt;br /&gt;svn: Syntax error parsing revision 'projects\_handsup\portal'.    &lt;br /&gt;Svn has exited with code '1'.    &lt;br /&gt;SvnInfoUuidCommand failed&lt;/p&gt;  &lt;p&gt;I tried then the svn command from the command prompt and got the same error!&lt;/p&gt;  &lt;p&gt;I finally renamed the path to my project from p:\@projects\_handsup\portal to p:\projects\_handsup\portal &lt;/p&gt;  &lt;p&gt;And now it works again! So forget strange characters in your path!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7275736" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=M02dEqs66Ko:nqax-HLg84M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=M02dEqs66Ko:nqax-HLg84M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=M02dEqs66Ko:nqax-HLg84M:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=M02dEqs66Ko:nqax-HLg84M:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/M02dEqs66Ko" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/continuous+integration/default.aspx">continuous integration</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/Team+City/default.aspx">Team City</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2009/12/10/teamcity-5-0-failed-to-collect-changes-error-issue.aspx</feedburner:origLink></item><item><title>TeamCity 5.0 Released!</title><link>http://feedproxy.google.com/~r/lkempe/~3/1xNBCd2wU2g/teamcity-5-0-released.aspx</link><pubDate>Thu, 03 Dec 2009 21:03:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7269882</guid><dc:creator>lkempe</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7269882</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2009/12/03/teamcity-5-0-released.aspx#comments</comments><description>&lt;p&gt;JetBrains just published &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt; 5.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The wait is over, ladies and gentlemen! The release build is baked, tested, and put on the shelf. Tastes good, so go and &lt;a href="http://www.jetbrains.com/teamcity/download/index.html"&gt;grab it now&lt;/a&gt;!&lt;/p&gt;    &lt;p&gt;Let us write down a short summary of what was accomplished since the TeamCity 4.5 release.&lt;/p&gt;    &lt;p&gt;First of all, here’s the list of most noteworthy features:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Support for Amazon EC2&lt;/strong&gt;: Take advantage of cloud computing with TeamCity by putting build agents on Amazon EC2 cloud with on-demand image starting and on-idle stopping. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Issue tracker integration with JetBrains YouTrack, JIRA and Bugzilla&lt;/strong&gt; - out of the box, plus an API for the integration plugins for other systems.&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Maven support improvements&lt;/strong&gt;, including simplified build configuration creation from POM file, and build triggering on Maven artifacts change. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Build configuration templates&lt;/strong&gt; for eliminating redundancy in build configurations settings. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Project archiving&lt;/strong&gt; for putting no-longer-active projects out of sight. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Command line tool for running Personal builds&lt;/strong&gt; on server without IDE integration. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Backup &amp;amp; Restore&lt;/strong&gt; were added to simplify TeamCity maintenance. Also, migration tool was re-implemented.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Other improvements:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Now you can &lt;strong&gt;view the status of a change&lt;/strong&gt; across all build configurations on a single page. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Failure responsibility&lt;/strong&gt; feature has been advanced to cover not only builds, but also individual test failures. &lt;/li&gt;      &lt;li&gt;Various actions performed by TeamCity users are now stored in the &lt;strong&gt;Audit log&lt;/strong&gt;, which can be browsed from the web UI. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Code coverage&lt;/strong&gt; analysis has been significantly improved for both Java (based on IntelliJ IDEA coverage engine) and .NET (support for NCover and PartCover). &lt;/li&gt;      &lt;li&gt;And many more&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;New and improved integrations:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Git &amp;amp; Mercurial support are now bundled with TeamCity. &lt;/li&gt;      &lt;li&gt;Remote Run now works for Git from IntelliJ IDEA &amp;amp; Eclipse. &lt;/li&gt;      &lt;li&gt;New support for Cucumber, Shoulda, Test-Spec in Rake runner. &lt;/li&gt;      &lt;li&gt;TeamCity IntelliJ IDEA plugin now works with IntelliJ IDEA Community Edition and RubyMine 2.0.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Of course, this is not an exhaustive list, so check &lt;a href="http://www.jetbrains.net/confluence/display/TCD5/What%27s+New+in+TeamCity+5.0"&gt;What’s New&lt;/a&gt; to get a full overview of new features and improvements.&lt;/p&gt;    &lt;p&gt;As always, &lt;strong&gt;TeamCity 5.0 Professional&lt;/strong&gt; is available for &lt;strong&gt;FREE&lt;/strong&gt; for all small- and middle-sized development teams and can be downloaded at &lt;a href="http://www.jetbrains.com/teamcity/download/?utm_source=pr&amp;amp;utm_medium=press-release&amp;amp;utm_campaign=teamcity50"&gt;http://www.jetbrains.com/teamcity/download&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;TeamCity 5.0 Enterprise&lt;/strong&gt; is available for a &lt;strong&gt;60-day free trial&lt;/strong&gt; download at &lt;a href="http://www.jetbrains.com/teamcity/download/?utm_source=pr&amp;amp;utm_medium=press-release&amp;amp;utm_campaign=teamcity50"&gt;http://www.jetbrains.com/teamcity/download&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;New customers can purchase TeamCity 5.0 online at &lt;a href="http://www.jetbrains.com/teamcity/buy/?utm_source=pr&amp;amp;utm_medium=press-release&amp;amp;utm_campaign=teamcity50"&gt;http://www.jetbrains.com/teamcity/buy/&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Existing customers can upgrade to version 5.0 after purchasing a 1-year subscription for software updates at &lt;a href="http://www.jetbrains.com/teamcity/buy/?utm_source=pr&amp;amp;utm_medium=press-release&amp;amp;utm_campaign=teamcity50"&gt;http://www.jetbrains.com/teamcity/buy/&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;TeamCity licenses bought after October 1, 2009, receive a 1-year subscription for software updates for free, and therefore will work fine with TeamCity version 5.0. If you have such licenses, you will soon receive an e-mail with the new keys and certificates.&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Build safe!&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;The JetBrains TeamCity Team&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7269882" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=1xNBCd2wU2g:ENuOyYsb3KA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=1xNBCd2wU2g:ENuOyYsb3KA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=1xNBCd2wU2g:ENuOyYsb3KA:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=1xNBCd2wU2g:ENuOyYsb3KA:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/1xNBCd2wU2g" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/Team+City/default.aspx">Team City</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2009/12/03/teamcity-5-0-released.aspx</feedburner:origLink></item><item><title>ProjectReference with Condition in your MSBuild project files</title><link>http://feedproxy.google.com/~r/lkempe/~3/K97x8stqADY/projectreference-with-condition-in-your-msbuild-project-files.aspx</link><pubDate>Wed, 02 Dec 2009 22:24:42 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7268935</guid><dc:creator>lkempe</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7268935</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2009/12/02/projectreference-with-condition-in-your-msbuild-project-files.aspx#comments</comments><description>&lt;p&gt;Since some time I have the current scenario where I need to have conditional reference in a project. Basically the application must reference an assembly in one case in other it should reference another one. This was working correctly from an MSBuild point of view as the first implemented solution let me compile and run the application on my development machine and it was also working for our &lt;a href="http://www.jetbrains.com/teamcity/index.html" target="_blank"&gt;TeamCity&lt;/a&gt; build server. So everything was fine in this perfect word expect one thing!&lt;/p&gt;  &lt;p&gt;The issue was the following; Visual Studio was showing two references of the ‘same assembly’ with different path. Not really an issue you would say because the correct one was used at compile time and at run time in all configurations. So the issue was that this had an impact of &lt;a href="http://www.jetbrains.com/resharper/index.html" target="_blank"&gt;ReSharper&lt;/a&gt;. And this is I cannot accept because it affect my productivity.&lt;/p&gt;  &lt;p&gt;So the other day I had a discussion with &lt;a href="http://resharper.blogspot.com/" target="_blank"&gt;Ilya&lt;/a&gt; of &lt;a href="http://www.jetbrains.com/" target="_blank"&gt;JetBrains&lt;/a&gt; which gave me some idea but also told me that ReSharper reads project structure out of Visual Studio and that it doesn't provide lots of info, e.g. conditions on references. So this is why seeing two reference of the ‘same assembly’ was not a problem on Visual Studio itself and on the build server but was an issue to ReSharper because it was seeing two same reference, same namespace, same classes…&lt;/p&gt;  &lt;p&gt;Today I had some time free and decided to see where I can come with this issue. And I found a solution.&lt;/p&gt;  &lt;p&gt;My first solution, which had the explained issue was the same as the one on this post “&lt;a href="http://www.realfiction.net/?q=node/164" target="_blank"&gt;Don't be afraid of your csproj-Files (III): We have a condition&lt;/a&gt;”, so having a Condition on the ItemGroup.&lt;/p&gt;  &lt;p&gt;The solution I came to is to bring the Condition to one upper level than the ItemGroup, so I used &lt;strong&gt;Choose &lt;/strong&gt;like this:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:5eb2f00d-56f7-47d1-a98b-b1ba723cb28f" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Choose&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;When&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;Condition&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt; &amp;#39;$(Configuration)&amp;#39; == &amp;#39;client1DeployClickOnce&amp;#39; &lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ProjectReference&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&lt;/span&gt;&lt;span style="color:#ff0000"&gt;Include&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;..&amp;#92;client1&amp;#92;app.Controls&amp;#92;app.Controls.csproj&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;{&lt;/span&gt;A7714633-66D7-4099-A255-5A911DB7BED8}&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;app.Controls %28Sources&amp;#92;client1&amp;#92;app.Controls%29&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;ProjectReference&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;When&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Otherwise&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;ProjectReference&lt;/span&gt;&lt;span style="color:#0000ff"&gt; &lt;/span&gt;&lt;span style="color:#ff0000"&gt;Include&lt;/span&gt;&lt;span style="color:#0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;..&amp;#92;app.Controls&amp;#92;app.Controls.csproj&lt;/span&gt;&amp;quot;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;{&lt;/span&gt;2E6D4065-E042-44B9-A569-FA1C36F1BDCE}&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Project&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;app.Controls %28Sources&amp;#92;app.Controls%29&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;ProjectReference&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;ItemGroup&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&amp;#160;&amp;#160;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Otherwise&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;&lt;span style="color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Choose&lt;/span&gt;&lt;span style="color:#0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Reloading the project I had the surprise to see only one reference and that ReSharper was working again correctly!&lt;/p&gt;  &lt;p&gt;For sure the build on TeamCity is also working perfectly.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7268935" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=K97x8stqADY:ILmYJPdJkHo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=K97x8stqADY:ILmYJPdJkHo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=K97x8stqADY:ILmYJPdJkHo:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=K97x8stqADY:ILmYJPdJkHo:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/K97x8stqADY" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/ReSharper/default.aspx">ReSharper</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/continuous+integration/default.aspx">continuous integration</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/Team+City/default.aspx">Team City</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/MSBuild/default.aspx">MSBuild</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2009/12/02/projectreference-with-condition-in-your-msbuild-project-files.aspx</feedburner:origLink></item><item><title>MVVM Light Toolkit V3 Alpha 3 for WPF4/SL4</title><link>http://feedproxy.google.com/~r/lkempe/~3/L24vNuYGa5M/mvvm-light-toolkit-v3-alpha-3-for-wpf4-sl4.aspx</link><pubDate>Tue, 01 Dec 2009 08:50:19 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7267698</guid><dc:creator>lkempe</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/lkempe/rsscomments.aspx?PostID=7267698</wfw:commentRss><comments>http://weblogs.asp.net/lkempe/archive/2009/12/01/mvvm-light-toolkit-v3-alpha-3-for-wpf4-sl4.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blog.galasoft.ch/Default.aspx" target="_blank"&gt;Laurent Bugnion&lt;/a&gt; just published &lt;a href="http://mvvmlight.codeplex.com" target="_blank"&gt;MVVM Light Toolkit V3 Alpha 3&lt;/a&gt; which support WPF 4 and Silverlight 4!&lt;/p&gt;  &lt;p&gt;I published, yesterday a short post in French on my &lt;a href="http://www.techheadbrothers.com/" target="_blank"&gt;Tech Head Brothers&lt;/a&gt; portal about &lt;a href="http://www.techheadbrothers.com/Astuces.aspx/silverlight-4-beta-drop-target-mvvm" target="_blank"&gt;Silverlight 4 Beta, Drop Target et MVVM&lt;/a&gt; which shows the usage of this new version of EventToCommand combined with Silverlight 4 Drop Target.&lt;/p&gt;  &lt;p&gt;Here is the &lt;a href="http://blog.galasoft.ch/archive/2009/11/30/mvvm-light-toolkit-v3-alpha-3-for-wpf4sl4.aspx" target="_blank"&gt;post of Laurent&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/lkempe/4149123651_4bb720be74_o1_3DF42076.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="4149123651_4bb720be74_o[1]" border="0" alt="4149123651_4bb720be74_o[1]" align="left" src="http://weblogs.asp.net/blogs/lkempe/4149123651_4bb720be74_o1_thumb_755A31A4.png" width="244" height="210" /&gt;&lt;/a&gt; I just published the latest alpha version of the &lt;a href="http://galasoft.ch/mvvm/getstarted/"&gt;MVVM Light Toolkit&lt;/a&gt;. I will post more about the new features in this alpha version, but the most exciting is probably that with this release, the MVVM Light Toolkit works in &lt;strong&gt;Windows Presentation Foundation 4 and in Silverlight 4&lt;/strong&gt; (in Visual Studio 2010).&lt;/p&gt;    &lt;p&gt;There is no automatic installer for this version yet, but I wrote &lt;a href="http://galasoft.ch/mvvm/installing/manually/"&gt;a page describing how to install manually&lt;/a&gt; (it is as easy as unzipping a few files). All the features are also available for Visual Studio 2008 as usual.&lt;/p&gt;    &lt;p&gt;The &lt;a href="http://mvvmlight.codeplex.com/SourceControl/ListDownloadableCommits.aspx"&gt;source code was also updated&lt;/a&gt; on the Codeplex website.&lt;/p&gt;    &lt;p&gt;More documentation will follow soon so stay tuned. In the mean time, have fun with MVVM in WPF4/SL4!&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7267698" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=L24vNuYGa5M:d5DPaVv7d7o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=L24vNuYGa5M:d5DPaVv7d7o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/lkempe?a=L24vNuYGa5M:d5DPaVv7d7o:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/lkempe?i=L24vNuYGa5M:d5DPaVv7d7o:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lkempe/~4/L24vNuYGa5M" height="1" width="1"/&gt;</description><category domain="http://weblogs.asp.net/lkempe/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/lkempe/archive/tags/MVVM/default.aspx">MVVM</category><feedburner:origLink>http://weblogs.asp.net/lkempe/archive/2009/12/01/mvvm-light-toolkit-v3-alpha-3-for-wpf4-sl4.aspx</feedburner:origLink></item></channel></rss>

