<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3897708432458977477</id><updated>2012-01-31T16:42:20.766-05:00</updated><category term='Vista'/><category term='Visual Studio'/><category term='Binding'/><category term='Syncfusion'/><category term='SQL Server'/><category term='ClickOnce'/><category term='ASP.NET'/><category term='XAML'/><category term='Team Systems'/><category term='Appearance'/><category term='cast'/><category term='DataSet'/><category term='WIA'/><category term='TabControl'/><category term='resource'/><category term='Debugging'/><category term='Windows Service'/><category term='WinForms'/><category term='sort'/><category term='Config'/><category term='Zip'/><category term='OpenVMS'/><category term='Team Build'/><category term='drawing'/><category term='Find'/><category term='Error 22029'/><category term='Controls'/><category term='DLL'/><category term='GridDataControl'/><category term='dispatcher'/><category term='MSBuild'/><category term='compile'/><category term='thread'/><category term='C#'/><category term='Reflection'/><category term='Versioning'/><category term='Image Edit'/><category term='Publish'/><category term='Mouse'/><category term='XPath'/><category term='scanning'/><category term='Intellisense'/><category term='SQLSTATE 42000'/><category term='Click-Once'/><category term='XamlParseException'/><category term='Exceptions'/><category term='app.config'/><category term='WPF'/><category term='bitmap'/><category term='.NET'/><title type='text'>Russ Judge Technobabble</title><subtitle type='html'>Random software programming technical data.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-7323306799095060931</id><published>2012-01-31T16:42:00.002-05:00</published><updated>2012-01-31T16:42:20.780-05:00</updated><title type='text'>Axiom of Truth</title><content type='html'>&lt;br /&gt;&lt;div&gt;If it takes two contractors six months to drive a project to failure, four contractors will achieve that failure in half the time, but it will take twice as long for the failure to be acknowledged.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-7323306799095060931?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/7323306799095060931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2012/01/axiom-of-truth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7323306799095060931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7323306799095060931'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2012/01/axiom-of-truth.html' title='Axiom of Truth'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-2671915150597382436</id><published>2012-01-10T11:56:00.000-05:00</published><updated>2012-01-10T11:56:53.594-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='bitmap'/><title type='text'>Filter for all supported Image file types</title><content type='html'>Nifty little trick: for the OpenFileDialog, I want to set a filter for all Image file types supported by the PC, including ones that haven’t been invented yet.  My code will load it into some sort of Image control for displaying.  I could manually set my filter to something like “*.jpg;*.png”, etc., but then I’d have to update it whenever a new format was introduced, &lt;i&gt;and&lt;/i&gt; some PCs may support types not supported by others, due to what has been installed on the PC.&lt;br /&gt;&lt;br /&gt;This code below solves this problem. &amp;nbsp;It uses the MIME types that are configured for the PC, as defined in the Windows Registry. &amp;nbsp;Nice and simple solution.&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp; public static string GetImageFormatsFileFilter()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string retVal= "*" + string.Join(";*", SupportedImageFormats());&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return retVal;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string[] SupportedImageFormats()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List&lt;string&gt; retVal = new List&lt;string&gt;();&lt;/string&gt;&lt;/string&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RegistryKey BaseKey = Registry.ClassesRoot.OpenSubKey("MIME").OpenSubKey("Database").OpenSubKey("Content Type");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (string subkey in BaseKey.GetSubKeyNames())&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (subkey.ToUpperInvariant().StartsWith("IMAGE/"))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string ext = (string)BaseKey.OpenSubKey(subkey).GetValue("Extension");&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ext != null &amp;amp;&amp;amp; !retVal.Contains(ext.ToUpperInvariant()))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div&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; retVal.Add(ext.ToUpperInvariant());&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return retVal.ToArray();&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-2671915150597382436?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/2671915150597382436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2012/01/filter-for-all-supported-image-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/2671915150597382436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/2671915150597382436'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2012/01/filter-for-all-supported-image-file.html' title='Filter for all supported Image file types'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-6311415731248442372</id><published>2011-08-25T08:03:00.000-04:00</published><updated>2011-08-25T08:03:50.904-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><title type='text'>ListView column sorting</title><content type='html'>&lt;div&gt;Found plenty of samples for WPF using a ListView and sorting on a column when the column header is clicked.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;But I could not get any of them to work!!!&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;They never mentioned that this doesn't work with BindingList&lt;t&gt;!!!&lt;/t&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Switched to ObservableCollection&amp;lt;t&amp;gt;, and it worked fine.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;I'm going to stop using that BindingList&lt;t&gt;.&lt;/t&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Russ&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-6311415731248442372?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/6311415731248442372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2011/08/listview-column-sorting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6311415731248442372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6311415731248442372'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2011/08/listview-column-sorting.html' title='ListView column sorting'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-291754054491654313</id><published>2010-12-01T10:34:00.000-05:00</published><updated>2010-12-01T10:34:10.334-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XamlParseException'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><title type='text'>XAML and cryptic error message</title><content type='html'>&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Got the following cryptic error message when  running a WPF application (a XamlParseException):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;A 'Binding' cannot be used within a  '&amp;lt;&lt;i&gt;usercontrol&lt;/i&gt;&amp;gt;' collection. A 'Binding' can only be set on a  DependencyProperty of a DependencyObject.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;At first glance, everything looked good.&amp;nbsp; It  might have been helpful if the error told me which property it was croaking  on--but I guess MS can't learn to be specific with this XAML crap.&amp;nbsp;  Fortunately, a quick google search and I stumbled onto a post where they  identified thier problem when they got the same error: the owner in the  DependencyProperty definition was not the control the property was on--changing  it fixed their problem.&amp;nbsp; A second look at my code and I found I had done  the same thing (the problem with cut-and-pasting).&amp;nbsp; Changing the owner type  to the correct class fixed the problem.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-291754054491654313?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/291754054491654313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/12/xaml-and-cryptic-error-message.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/291754054491654313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/291754054491654313'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/12/xaml-and-cryptic-error-message.html' title='XAML and cryptic error message'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-5429885361328784473</id><published>2010-11-29T09:52:00.000-05:00</published><updated>2010-11-29T09:52:05.113-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Error 22029'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLSTATE 42000'/><title type='text'>Useless SQL Server Errors</title><content type='html'>&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Okay, there's nothing more useless than getting an error that doesn't tell you anything about how to fix it or, at the very least, why it occurred.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;I had a Transaction Log backup job that was running regularly on SQL Server 2000, and was regularly getting failure, with nothing more than "SQLSTATE 42000, Error 22029".&amp;nbsp;&amp;nbsp; Googling was not very helpful--seemed this could be caused by a who slew of possibilities, none of which appeared to apply to me.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;It wasn't until I opened the text log file that was produced from the job and googled on the specific message ("Backup can not be performed on database &lt;em&gt;&amp;lt;&lt;/em&gt;database&lt;em&gt;&amp;gt;.&lt;/em&gt; This sub task is ignored.") that I found my answer, at &lt;a href="http://support.microsoft.com/kb/303229"&gt;http://support.microsoft.com/kb/303229&lt;/a&gt;.&amp;nbsp; It would have been nice to have something basic in the error message that told me the problem--it would have saved me a few hours of digging.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Basically, the Recovery Model for this database was "Simple".&amp;nbsp; Apparently you can't back up the transaction log on databases defined as Simple Recovery Model.&amp;nbsp; So there are two simple choices:&amp;nbsp; 1. Change the Recovery Model to something other than "Simple" ("Bulk-Logged" or "Full" are both valid for backing up the transaction log), or 2.&amp;nbsp;Don't back up the transaction log.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Since, in my case, the database is replicated to another server, it seemed rather redundant to back up the transaction log.&amp;nbsp; So, I turned off this job altogether.&amp;nbsp; Problem solved.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-5429885361328784473?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/5429885361328784473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/11/useless-sql-server-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5429885361328784473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5429885361328784473'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/11/useless-sql-server-errors.html' title='Useless SQL Server Errors'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-4347491324558200064</id><published>2010-10-27T17:26:00.007-04:00</published><updated>2010-10-27T17:26:00.729-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='compile'/><title type='text'>XAML pages won't generate c# code behind on compile</title><content type='html'>You'd think Visual Studio would know that if a file ended in ".xaml", then the &lt;i&gt;file&lt;/i&gt;.g.cs code that is supposed to be generated from the XAML on compile would always be generated.&lt;br /&gt;&lt;br /&gt;Unfortunately for me, I had some significant refactoring to do.&amp;nbsp; I moved existing XAML files around into new projects, and found that I couldn't compile.&amp;nbsp; It took me awhile to figure out that the &lt;i&gt;file&lt;/i&gt;.g.cs files weren't being generated.&amp;nbsp; Why they weren't didn't make sense, until a Google search turned up that the properties of these files must be set the Build Action to "page".&amp;nbsp; Apparently Visual Studio changed the Build Action to something else.&amp;nbsp; When set to "page", they generated the code correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-4347491324558200064?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/4347491324558200064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/10/xaml-pages-wont-generate-c-code-behind.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4347491324558200064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4347491324558200064'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/10/xaml-pages-wont-generate-c-code-behind.html' title='XAML pages won&apos;t generate c# code behind on compile'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-8585497642210921489</id><published>2010-10-26T17:25:00.009-04:00</published><updated>2010-10-28T16:16:38.389-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='resource'/><category scheme='http://www.blogger.com/atom/ns#' term='bitmap'/><title type='text'>Referencing bitmap image file in XAML.</title><content type='html'>&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;It was driving me nuts.&amp;nbsp; I wanted to put a bitmap file into a project as a resource and reference it from XAML in another project.&amp;nbsp; I Googled the web and followed all the directions, but nothing worked.&amp;nbsp; Everything always referred to a local bitmap or a XAML file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I followed all the directions, but nothing worked.&amp;nbsp; Basically, this is what I had: Image.png was in Resource.csproj.&amp;nbsp; UI.csproj (in the same solution) had Page.xaml that needed to display Image.png.&lt;br /&gt;&lt;br /&gt;I could get the solution to compile, but the image would never display.&amp;nbsp; I followed all instructions to the letter, but nothing worked.&amp;nbsp; I think they're all liers, out to get me.&lt;br /&gt;&lt;br /&gt;I finally figured it out on my own.&amp;nbsp; What I figured out even goes against some explicit instruction from one of the sites.&lt;br /&gt;&lt;br /&gt;First, in your resource project (Resource.csproj above), add a resource file (a file ending in ".resx"--I called mine "Images.resx").&amp;nbsp; Do not use the Resources that are part of the project properties, but instead add a separate resource file.&lt;br /&gt;&lt;br /&gt;Now add your image to that resource file.&amp;nbsp; Select the image in the resources and on the properties, change the Persistence to "Embedded in .resx".&lt;br /&gt;&lt;br /&gt;Finally, add the ImageSource in the Resources of your XAML. In my case, my example is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;lt;ImageSource x:key="MyImage"&amp;gt;pack://application:,,,/Resource;component/Images/Image.png&amp;lt;/ImageSource&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Note that the path to the image is the resource file I added.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[EDIT]&lt;br /&gt;Looks like I spoke too soon.&amp;nbsp; I still had my image in a folder that matched the same path, located in the UI project ("/Images/Image.png").&amp;nbsp; When I deleted that image, it failed.&amp;nbsp; Well, when I figure it out--&lt;em&gt;if&lt;/em&gt; I figure it out--I'll update this with the correct information.&lt;br /&gt;&lt;br /&gt;Too bad no one else can give good information on this--I'd really like to know.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-8585497642210921489?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/8585497642210921489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/10/it-was-driving-me-nuts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8585497642210921489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8585497642210921489'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/10/it-was-driving-me-nuts.html' title='Referencing bitmap image file in XAML.'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-1419762955407125546</id><published>2010-09-21T12:45:00.001-04:00</published><updated>2010-09-21T12:46:10.602-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exceptions'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>System.ArgumentException: Invalid postback or callback argument</title><content type='html'>&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;I've been going nuts on this one, and still don't have a good answer.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Basically, one of our web servers, using identical code (ASP.NET 3.0)&amp;nbsp;as the production server (which works fine), suddenly decided to give me a "System.ArgumentException: Invalid postback or callback argument" every time I'd attempt to log in at the web site.&amp;nbsp; This was our QA box, used for final testing just before pushing stuff into production.&amp;nbsp; A quick Google search seemed to give some basic information--I had to used the Page EnableEventValidation="true" (you'd be stupid to set it to false), so the error did make some kind of sense.&amp;nbsp; But I could not overcome the issue.&amp;nbsp; There was no binding in the code-behind, so suggestioins of using !IsPostBack were useless.&amp;nbsp; The StackTrace suggested the error occurred on a TextBox, but there were only two textboxes: one for the username and one for the password.&amp;nbsp; Our development box worked fine and the production box worked fine. So what was the problem?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;I tried all sorts of things--switching to Firefox, rebooting the QA servers, even restoring all production code onto the QA servers, and NOTHING!&amp;nbsp; The error just would not go away.&amp;nbsp; I added some code into development to do "&lt;span style="font-size: x-small;"&gt;ClientScript.RegisterForEventValidation" on ALL visibile controls, but I knew this really couldn't have anything to do with it--and I really didn't want to push development code into QA at this time.&amp;nbsp; I even checked the certificates (all websites are running using HTTPS) and noticed the QA box was running with an expired certificate--so I updated it, but still nothing.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;In desparation, I finally tried logging into the website from a different computer--and lo and behold, it worked.&amp;nbsp; Okay, must be my PC, then--so I went back to my PC and tried logging in--this time it also worked.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;WTF?&amp;nbsp; Well, at least if it happens again, I know how to clear it up.&amp;nbsp; But boy, I'd certainly appreciate any comments that could explain what happened and how to ever keep it from happening again.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-1419762955407125546?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/1419762955407125546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/09/systemargumentexception-invalid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1419762955407125546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1419762955407125546'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/09/systemargumentexception-invalid.html' title='System.ArgumentException: Invalid postback or callback argument'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-800244598285664466</id><published>2010-06-24T11:27:00.001-04:00</published><updated>2010-06-24T11:31:58.092-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Click-Once'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>Team Systems Project Update</title><content type='html'>&lt;div class="Section1"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Okay, it's been awhile.&amp;nbsp; &lt;span class="GramE"&gt;Been busy.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;I've done some additional tweaks to my standard Team Systems Build project and have learned some useful tips--which I'm putting here.&amp;nbsp; I've&amp;nbsp;discovered a number of issues since my original posting, which I've learned how to&amp;nbsp;deal with.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;The full project template can be found&amp;nbsp;&lt;a href="https://docs.google.com/leaf?id=0B2mJlq8-Bq_6YzQ3NDNiODUtZTMzNy00ZDc4LTkzZDctN2RiZjMyYTdlMzRl&amp;amp;hl=en"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Below, I'm going step-by-step through that project file to explain what's going on and what you can customize for your needs.&amp;nbsp; This project builds and deploys a Click-Once project, plus updates a Windows Service on a separate Windows server.&amp;nbsp; The Solution that instigated this used a WPF Click-Once project that connected to a WCF service that ran on a separate machine, both of which were in the same solution, but not referencing each other.&amp;nbsp; The build project also does not run tests.&amp;nbsp;Finally, there are two different philosophies for dealing with required &lt;span class="SpellE"&gt;app.config&lt;/span&gt; customizations for different deployments: copying in a unique &lt;span class="SpellE"&gt;app.config&lt;/span&gt; file for each deployment, or modifying the source &lt;span class="SpellE"&gt;app.config&lt;/span&gt; file on the fly.&amp;nbsp; I explore both methods, but found that copying in a unique one is probably the better choice.&amp;nbsp; I've commented out the code to change &lt;span class="SpellE"&gt;app.config&lt;/span&gt; as it's not always needed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;I've also added code to a couple of custom tasks that are useful, including a pretty good FTP process (I sometimes need to use FTP to deploy), and a custom &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; to get information out of the project file (there might have been a good existing one that worked, but I found it easier just to write a custom one).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;The custom tasks can be found &lt;a href="https://docs.google.com/leaf?id=0B2mJlq8-Bq_6ZGQ2NGQyNWYtM2Y2Ni00ZjU1LWE3YjYtOGJhYWUxZWY2Mjdi&amp;amp;hl=en"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;First, there's your basic setup:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Your standard XML encoding tag:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="GramE"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;?xml&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; version="1.0" encoding="utf-8"?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Basic project file definition:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="GramE"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; Team Build Project Template: for &lt;span class="SpellE"&gt;ClickOnce&lt;/span&gt; applications --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="GramE"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; NOTE: if the &lt;span class="SpellE"&gt;app.config&lt;/span&gt; file requires modification for deployment variations, go to "!!!" location, uncomment and&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;alter&lt;/span&gt; as needed&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="GramE"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; DO NOT EDIT the project element - the &lt;span class="SpellE"&gt;ToolsVersion&lt;/span&gt; specified here does not prevent the solutions &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;and&lt;/span&gt; projects in the &lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt; item group from targeting other versions of the .NET framework. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;Project &lt;span class="SpellE"&gt;DefaultTargets&lt;/span&gt;="Deploy" &lt;span class="SpellE"&gt;xmlns&lt;/span&gt;="http://schemas.microsoft.com/developer/msbuild/2003" &lt;span class="SpellE"&gt;ToolsVersion&lt;/span&gt;="3.5"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Do not edit this --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Custom Task imports (these are important for doing things that aren't a standard part of &lt;span class="SpellE"&gt;MSBuild&lt;/span&gt;):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Import Project="$(&lt;span class="SpellE"&gt;MSBuildExtensionsPath&lt;/span&gt;)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;This one defines our custom tasks. Be sure to define the path to where you dropped the &lt;span class="SpellE"&gt;BuildCodeBehind.Targets&lt;/span&gt; file in the zip file linked to above.&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Import Project="$(&lt;span class="SpellE"&gt;MSBuildExtensionsPath&lt;/span&gt;)\&lt;span class="SpellE"&gt;BuildCodeBehind\BuildCodeBehind.Targets&lt;/span&gt;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Below is a set of common tasks that you can get from &lt;a href="http://sdctasks.codeplex.com/"&gt;http://sdctasks.codeplex.com/&lt;/a&gt;: &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; from http://sdctasks.codeplex.com/ --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Import Project="$(&lt;span class="SpellE"&gt;MSBuildExtensionsPath&lt;/span&gt;)\Microsoft\&lt;span class="SpellE"&gt;Sdc\Microsoft.Sdc.Common.tasks&lt;/span&gt;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Below is a set of common tasks that you can get from &lt;a href="http://msbuildtasks.tigris.org/"&gt;http://msbuildtasks.tigris.org/&lt;/a&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; from http://msbuildtasks.tigris.org/ --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Import Project="$(&lt;span class="SpellE"&gt;MSBuildExtensionsPath&lt;/span&gt;)\&lt;span class="SpellE"&gt;MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Basic Configuration:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ProjectExtensions&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Team Foundation Build Version - DO NOT CHANGE --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ProjectFileVersion&lt;/span&gt;&amp;gt;2&amp;lt;/&lt;span class="SpellE"&gt;ProjectFileVersion&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ProjectExtensions&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Now here's where I put the various things that change from project to project.&amp;nbsp; I put it all together so that it's easy to find:&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- *************************************************************&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Solution specific Modifiable stuff begins here --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This defines the folder where the Click-Once project can be found.&amp;nbsp; This is not the full path, but only the subfolder under the solution:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceProjectFolder&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;projectFolder&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ClickOnceProjectFolder&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This is your solution name:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;solutionName&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;And the relative folder for the solution:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;solutionFolder&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This is where any referenced files can be found.&amp;nbsp; Your click-once landing page should be in here:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;ReferencedFilesFolder&amp;gt;referencedFilesFolder&amp;lt;/ReferencedFilesFolder&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="GramE"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Your&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Click-Once application name as it will appear on the Land Page.&amp;nbsp; It will be compiled with this name followed by .exe:&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;ClickOnceApplicationName&amp;gt;applicationName&amp;lt;/ClickOnceApplicationName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This parameter defines the project where the code can be found in Team Systems Source Control:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;SourceCodeProject&amp;gt;ProjectNameInTeamSystemsSourceControl&amp;lt;/SourceCodeProject&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Deployment-Dependent Properties --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PurposeName&lt;/span&gt;&amp;gt;Purpose name for Landing page&amp;lt;/&lt;span class="SpellE"&gt;PurposeName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Final drop locations --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Be sure to change &lt;span class="SpellE"&gt;WebServerURL&lt;/span&gt; to the URL of your web server:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceUrl&lt;/span&gt;&amp;gt;http://WebServerURL/&lt;span class="GramE"&gt;$(&lt;/span&gt;ClickOnceApplicationName)/&amp;lt;/&lt;span class="SpellE"&gt;ClickOnceUrl&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Two deployment servers are assumed (our deployment is on a cluster), but you can repeat as many time as needed--if more needed just cut-and-paste for the extras.&amp;nbsp; If only one needed, then comment out RemoteServer2 references:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;lt;RemoteServer1&amp;gt;DeploymentServer1&amp;lt;/RemoteServer1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;RemoteServer2&amp;gt;DeploymentServer2&amp;lt;/RemoteServer2&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;The deployment location for deploying by copying over the network:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;RemoteTarget1&amp;gt;\\$(RemoteServer1)\&lt;span class="SpellE"&gt;RootShare&lt;/span&gt;\&lt;span class="GramE"&gt;$(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;)&amp;lt;/RemoteTarget1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;RemoteTarget2&amp;gt;\\$(RemoteServer2)\&lt;span class="SpellE"&gt;RootShare&lt;/span&gt;\&lt;span class="GramE"&gt;$(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;)&amp;lt;/RemoteTarget2&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;If updating a service, this is the service name that will need stopped and started for updating:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;ServiceNameToStopAndStart&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;And &lt;span class="GramE"&gt;the is&lt;/span&gt; the full path to the Remote Service to copy to:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;RemoteServiceFolder&amp;gt;PathToServiceApplicationFolder&amp;lt;/RemoteServiceFolder&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Use "Environment" property to assist with differentiating with code branches --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Environment&amp;gt;&amp;lt;/Environment&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Standard Properties: These show up on the Landing Page. --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceAppTitle&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;ApplicationTitleForLandingPage&lt;/span&gt; - For $(&lt;span class="SpellE"&gt;PurposeName&lt;/span&gt;&lt;span class="GramE"&gt;)&amp;lt;&lt;/span&gt;/&lt;span class="SpellE"&gt;ClickOnceAppTitle&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;AppDescription&amp;gt;ApplicationDescriptionForLandingPage&lt;span class="GramE"&gt;.&amp;lt;&lt;/span&gt;/AppDescription&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Standard Company-level Properties: For the Landing Page --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;SupportUrl&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;SupportURLForLandingPage&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;SupportUrl&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Company&amp;gt;&lt;span class="SpellE"&gt;CompanyNameForLandingPage&lt;/span&gt;&amp;lt;/Company&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;If Deploying by FTP, these parameters define FTP deployment:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;FTPDeployServerUsername&amp;gt;FTPUsernameToDeploymentServer&amp;lt;/FTPDeployServerUsername&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;FTPDeployServerPassword&amp;gt;FTPPasswordToDeploymentServer&amp;lt;/FTPDeployServerPassword&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;&lt;span class="SpellE"&gt;RemoteDISTFolder&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;FTPFolderOnDeploymentServer&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;RemoteDISTFolder&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; General, unchanging Properties --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;app.config&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&amp;gt;$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(Environment)\$(&lt;span class="SpellE"&gt;ClickOnceProjectFolder&lt;/span&gt;)\&amp;lt;/&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This parameter defines the drop location on the build server for the Click-Once project:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&amp;gt;&lt;span class="GramE"&gt;e:&lt;/span&gt;\$(&lt;span class="SpellE"&gt;SourceCodeProject&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;)$(Environment)\&lt;span class="SpellE"&gt;ClickOnceDeploy&lt;/span&gt;\&amp;lt;/&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This parameter defines the drop location of your secondary project (the services project):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;&lt;span class="SpellE"&gt;WCFServicesDropLocation&lt;/span&gt;&amp;gt;&lt;span class="GramE"&gt;e:&lt;/span&gt;\$(&lt;span class="SpellE"&gt;SourceCodeProject&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;)$(Environment)\&lt;span class="SpellE"&gt;WCFServices&lt;/span&gt;\&amp;lt;/&lt;span class="SpellE"&gt;WCFServicesDropLocation&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceApplicationUrl&lt;/span&gt;&amp;gt;$(&lt;span class="SpellE"&gt;ClickOnceUrl&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).application&amp;lt;/&lt;span class="SpellE"&gt;ClickOnceApplicationUrl&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;SigningCert&lt;/span&gt;:&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;May need altered --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;This defines the signing certificate:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;&lt;span class="SpellE"&gt;SigningCert&lt;/span&gt;&amp;gt;$(&lt;span class="SpellE"&gt;ClickOnceProjectFolder&lt;/span&gt;&lt;span class="GramE"&gt;)_&lt;/span&gt;&lt;span class="SpellE"&gt;TemporaryKey.pfx&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;SigningCert&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Your secondary project (service) to build: &lt;/span&gt;&lt;/span&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;&lt;span class="SpellE"&gt;SecondaryProject&lt;/span&gt;&amp;gt;$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)/$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(Environment)/SecondaryProjectFolder/SecondaryProjectFile.csproj&amp;lt;/SecondaryProject&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Alter Landing Page if source location is different. --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;The location to find the Landing Page file:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceLandingPage&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(Environment)\$(&lt;span class="SpellE"&gt;ReferencedFilesFolder&lt;/span&gt;)\LandingPageFile.htm"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Solution specific Modifiable stuff ends here --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- *************************************************************&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Below are standard Microsoft parameters:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;TESTING&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set this flag to enable/disable running tests as a post-compilation build step.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RunTest&lt;/span&gt;&amp;gt;false&amp;lt;/&lt;span class="SpellE"&gt;RunTest&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;CODE ANALYSIS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set this property to enable/disable running code analysis. Valid values for this property are &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Default, Always and Never.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;Default - Perform code analysis as per the individual project settings&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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 class="GramE"&gt;Always&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;-&lt;/span&gt; Always perform code analysis irrespective of project settings&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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 class="GramE"&gt;Never&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- Never perform code analysis irrespective of project settings&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RunCodeAnalysis&lt;/span&gt;&amp;gt;Default&amp;lt;/&lt;span class="SpellE"&gt;RunCodeAnalysis&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Additional Properties --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;WorkItemType&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The type of the work item created on a build failure. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;WorkItemType&lt;/span&gt;&amp;gt;Bug&amp;lt;/&lt;span class="SpellE"&gt;WorkItemType&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;WorkItemFieldValues&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Fields and values of the work item created on a build failure.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Note: Use reference names for fields if you want the build to be resistant to field name &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;changes&lt;/span&gt;. Reference names are language independent while friendly names are changed depending &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;on&lt;/span&gt; the installed language. For example, "&lt;span class="SpellE"&gt;System.Reason&lt;/span&gt;" is the reference name for the "Reason" &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;field&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;WorkItemFieldValues&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;System.Reason&lt;/span&gt;=Build &lt;span class="SpellE"&gt;Failure&lt;span class="GramE"&gt;;System.Description&lt;/span&gt;&lt;/span&gt;=Start the build using Team Build&amp;lt;/&lt;span class="SpellE"&gt;WorkItemFieldValues&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;WorkItemTitle&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Title of the work item created on build failure.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;WorkItemTitle&lt;/span&gt;&amp;gt;Build failure in &lt;span class="GramE"&gt;build:&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;WorkItemTitle&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DescriptionText&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;History comment of the work item created on a build failure. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionText&lt;/span&gt;&amp;gt;This work item was created by Team Build on a build failure&lt;span class="GramE"&gt;.&amp;lt;&lt;/span&gt;/&lt;span class="SpellE"&gt;DescriptionText&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;BuildLogText&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Additional comment text for the work item created on a build failure.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;BuildlogText&lt;/span&gt;&amp;gt;The build log file is &lt;span class="GramE"&gt;at:&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;BuildlogText&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;ErrorWarningLogText&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Additional comment text for the work item created on a build failure. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;This text will only be added if there were errors or warnings.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ErrorWarningLogText&lt;/span&gt;&amp;gt;The errors/warnings log file is &lt;span class="GramE"&gt;at:&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ErrorWarningLogText&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;UpdateAssociatedWorkItems&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Set this flag to enable/disable updating associated &lt;span class="SpellE"&gt;workitems&lt;/span&gt; on a successful build.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;UpdateAssociatedWorkItems&lt;/span&gt;&amp;gt;true&amp;lt;/&lt;span class="SpellE"&gt;UpdateAssociatedWorkItems&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;AdditionalVCOverrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Additional text for the &lt;span class="SpellE"&gt;VCOverrides&lt;/span&gt; file generated for VC++ projects.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;AdditionalVCOverrides&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;AdditionalVCOverrides&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;CustomPropertiesForClean&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Custom properties to pass to the &lt;span class="SpellE"&gt;MSBuild&lt;/span&gt; task while calling the "Clean" target for all solutions.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The format should be: PropertyName1=value1&lt;span class="GramE"&gt;;PropertyName2&lt;/span&gt;=value2;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CustomPropertiesForClean&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;CustomPropertiesForClean&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;CustomPropertiesForBuild&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Custom properties to pass to the &lt;span class="SpellE"&gt;MSBuild&lt;/span&gt; task while calling the default targets for all solutions.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The format should be: Property1=value1&lt;span class="GramE"&gt;;Property2&lt;/span&gt;=value2;...&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;To pass custom properties to&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;individual&lt;/span&gt; solutions, use the Properties metadata item of the &lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt; &lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CustomPropertiesForBuild&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;CustomPropertiesForBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;SOLUTIONS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;The paths of the solutions to build.&lt;/span&gt; Paths can be server paths or local paths, but server paths&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;relative&lt;/span&gt; to the location of this file are highly recommended.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;To add/delete solutions, edit this &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;&lt;span class="GramE"&gt;ItemGroup&lt;/span&gt;&lt;/span&gt;&lt;span class="GramE"&gt;.&lt;/span&gt; For example, to add a solution &lt;span class="SpellE"&gt;MySolution.sln&lt;/span&gt;, add the following line:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;BuildProjectFolderPath&lt;/span&gt;)/path/&lt;span class="SpellE"&gt;MySolution.sln&lt;/span&gt;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;To change the order in which the solutions are built, modify the order in which the solutions &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;appear&lt;/span&gt; below.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;To call a target (or targets) other than the default, add a metadata item named Targets.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;To pass &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;custom&lt;/span&gt; properties to the solution, add a metadata item named Properties.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;For example, to call &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;the&lt;/span&gt; targets MyCustomTarget1 and MyCustomTarget2, passing in properties Property1 and Property2, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;add&lt;/span&gt; the following:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;BuildProjectFolderPath&lt;/span&gt;)/path/&lt;span class="SpellE"&gt;MySolution.sln&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&amp;lt;Targets&amp;gt;MyCustomTarget1&lt;span class="GramE"&gt;;MyCustomTarget2&lt;/span&gt;&amp;lt;/Targets&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&amp;lt;Properties&amp;gt;Property1=Value1&lt;span class="GramE"&gt;;Property2&lt;/span&gt;=Value2&amp;lt;/Properties&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;/&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)/$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(Environment)/$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;).&lt;span class="SpellE"&gt;sln&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Targets&amp;gt;&amp;lt;/Targets&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Properties&amp;gt;&amp;lt;/Properties&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;SolutionToPublish&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;SolutionToBuild&lt;/span&gt;)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;CONFIGURATIONS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;The list of configurations to build.&lt;/span&gt; To add/delete configurations, edit this value. For example, &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;to&lt;/span&gt; add a new configuration, add the following lines:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;&lt;span class="SpellE"&gt;ConfigurationToBuild&lt;/span&gt; Include="Debug|x86"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;FlavorToBuild&lt;/span&gt;&amp;gt;Debug&amp;lt;/&lt;span class="SpellE"&gt;FlavorToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PlatformToBuild&lt;/span&gt;&amp;gt;x86&amp;lt;/&lt;span class="SpellE"&gt;PlatformToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;/&lt;span class="SpellE"&gt;ConfigurationToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The Include attribute value should be unique for each &lt;span class="SpellE"&gt;ConfigurationToBuild&lt;/span&gt; node.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ConfigurationToBuild&lt;/span&gt; Include="&lt;span class="SpellE"&gt;Release|Any&lt;/span&gt; CPU"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;FlavorToBuild&lt;/span&gt;&amp;gt;Release&amp;lt;/&lt;span class="SpellE"&gt;FlavorToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PlatformToBuild&lt;/span&gt;&amp;gt;Any CPU&amp;lt;/&lt;span class="SpellE"&gt;PlatformToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ConfigurationToBuild&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;TEST ARGUMENTS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If the &lt;span class="SpellE"&gt;RunTest&lt;/span&gt; property is set to true then the following test arguments will be used to run &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;tests&lt;/span&gt;. Tests can be run by specifying one or more test lists and/or one or more test containers.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;To run tests using test lists, add &lt;span class="SpellE"&gt;MetaDataFile&lt;/span&gt; items and associated &lt;span class="SpellE"&gt;TestLists&lt;/span&gt; here.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Paths can &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;be&lt;/span&gt; server paths or local paths, but server paths relative to the location of this file are highly &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;recommended&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;MetaDataFile&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;BuildProjectFolderPath&lt;/span&gt;)/&lt;span class="SpellE"&gt;HelloWorld/HelloWorld.vsmdi&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TestList&lt;/span&gt;&amp;gt;BVT1&lt;span class="GramE"&gt;;BVT2&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;TestList&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;MetaDataFile&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;To run tests using test containers, add &lt;span class="SpellE"&gt;TestContainer&lt;/span&gt; items here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TestContainer&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;OutDir&lt;/span&gt;)\HelloWorldTests.dll" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TestContainer&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)\TestProject\WebTest1.webtest" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TestContainer&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)\TestProject\LoadTest1.loadtest" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Use %2a instead of * and %3f instead &lt;span class="GramE"&gt;of ?&lt;/span&gt; &lt;span class="GramE"&gt;to&lt;/span&gt; prevent expansion before test assemblies are built&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; TEST ARGUMENTS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If the &lt;span class="SpellE"&gt;RunTest&lt;/span&gt; property is set to true, then particular tests within a&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;metadata&lt;/span&gt; file or test container may be specified here.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;This is&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;equivalent&lt;/span&gt; to the /test switch on mstest.exe.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TestNames&lt;/span&gt;&amp;gt;&lt;span class="SpellE"&gt;BVT&lt;span class="GramE"&gt;;HighPriority&lt;/span&gt;&lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;TestNames&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;PropertyGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;ADDITIONAL REFERENCE PATH&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;The list of additional reference paths to use while resolving references.&lt;/span&gt; For example:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;&lt;span class="SpellE"&gt;AdditionalReferencePath&lt;/span&gt; Include="C:\&lt;span class="SpellE"&gt;MyFolder&lt;/span&gt;\" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;&amp;lt;&lt;span class="SpellE"&gt;AdditionalReferencePath&lt;/span&gt; Include="C:\MyFolder2\" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;These are the base files required for Click-Once:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).application"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;exe.manifest&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&lt;span class="GramE"&gt;)setup.exe&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&lt;span class="GramE"&gt;)default.htm&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ItemGroup&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Target Name="&lt;span class="SpellE"&gt;AfterGet&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Doing After Get"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Here's where you set up custom &lt;span class="SpellE"&gt;app.config&lt;/span&gt; files based on deployment:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- *************************************************************&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Custom &lt;span class="SpellE"&gt;Config&lt;/span&gt; file for differing deployments.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Option 1: modify on fly --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- !!! Edit &lt;span class="SpellE"&gt;Config&lt;/span&gt; File here&lt;span class="GramE"&gt;.--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Modifying &lt;span class="SpellE"&gt;Config&lt;/span&gt; file: &lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;=$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;)&lt;span class="SpellE"&gt;app.config&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ModifyFile&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ModifyFile&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Path="$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;XPath&lt;/span&gt;="/configuration/&lt;span class="SpellE"&gt;userSettings&lt;/span&gt;/$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;Properties.Settings&lt;/span&gt;/&lt;span class="GramE"&gt;setting[&lt;/span&gt;@name='&lt;span class="SpellE"&gt;SettingToModify&lt;/span&gt;']/value"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;NewSetting&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Force="true" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; End &lt;span class="SpellE"&gt;Config&lt;/span&gt; File modification here&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Custom &lt;span class="SpellE"&gt;Config&lt;/span&gt; file for differing deployments.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Option 2 (better): copy unique in from source --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!--&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;!!! Edit &lt;span class="SpellE"&gt;Config&lt;/span&gt; File here.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!-- &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Deleting &lt;span class="SpellE"&gt;app.config&lt;/span&gt; file"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;File.DeleteFiles&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Files="$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&lt;span class="GramE"&gt;)&lt;span class="SpellE"&gt;app.config&lt;/span&gt;&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;TreatErrorsAsWarnings&lt;/span&gt;="false"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Force="true" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Copying in &lt;span class="SpellE"&gt;Config&lt;/span&gt; file from $(&lt;span class="SpellE"&gt;CUCustomStuff&lt;/span&gt;)$(&lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;)"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy &lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="$(&lt;span class="SpellE"&gt;CUCustomStuff&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;AppConfigFile&lt;/span&gt;)" &lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;)&lt;span class="SpellE"&gt;app.config&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;End &lt;span class="SpellE"&gt;Config&lt;/span&gt; File modification here&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- *************************************************************&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Now we get the latest &lt;span class="SpellE"&gt;changeset&lt;/span&gt; out of source control to use as our "Revision" number:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Getting version data --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;TfsVersion&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TfsVersion&lt;/span&gt; &lt;span class="SpellE"&gt;LocalPath&lt;/span&gt;="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="&lt;span class="SpellE"&gt;Changeset&lt;/span&gt;" &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="Revision" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;TfsVersion&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Revision is: $(Revision)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Setting the Application (Publish) version for &lt;span class="SpellE"&gt;ClickOnce&lt;/span&gt; by modifying the C# Project file. --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="\&amp;amp;&lt;span class="SpellE"&gt;lt;ApplicationRevision\&amp;amp;gt&lt;/span&gt;&lt;span class="GramE"&gt;;[&lt;/span&gt;0-9]+\&amp;amp;&lt;span class="SpellE"&gt;lt;\/ApplicationRevision\&amp;amp;gt&lt;/span&gt;;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;RegExMatch&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="&amp;amp;&lt;span class="SpellE"&gt;lt&lt;span class="GramE"&gt;;ApplicationRevision&lt;/span&gt;&amp;amp;gt&lt;/span&gt;;$(Revision)&amp;amp;&lt;span class="SpellE"&gt;lt;/ApplicationRevision&amp;amp;gt&lt;/span&gt;;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;RegExReplace&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;Regex&lt;/span&gt; Path="$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;csproj&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;RegularExpression&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RegExMatch&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RegExReplace&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Force="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;" &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;~&lt;/span&gt;~~ Getting &lt;span class="SpellE"&gt;ApplicationVersion&lt;/span&gt; for $(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;)$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;csproj&lt;/span&gt;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ReadLinesFromFile&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ReadLinesFromFile&lt;/span&gt; File="$(&lt;span class="SpellE"&gt;ConfigDir&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;csproj&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Lines"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;ItemName&lt;/span&gt;="&lt;span class="SpellE"&gt;ItemsFromFile&lt;/span&gt;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;ReadLinesFromFile&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ItemsFromFile&lt;/span&gt;)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;wrkItemsFromFile&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt; is a custom task, out of the RCO BuildCodeBehind.dll --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt; Input="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ItemsFromFile&lt;/span&gt;)" Expression="\&amp;amp;&lt;span class="SpellE"&gt;lt;ApplicationVersion\&amp;amp;gt&lt;/span&gt;;[0-9]+\.[0-9]+\.[0-9]+"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;ItemName&lt;/span&gt;="&lt;span class="SpellE"&gt;VersionInfo&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Output"&amp;gt;&amp;lt;/Output&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;VersionInfo&lt;/span&gt;)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;VersionQuestion&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt; is a custom task, out of the RCO BuildCodeBehind.dll --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt; Input="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;VersionInfo&lt;/span&gt;)" Expression="[0-9]+\.[0-9]+\.[0-9]+"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;ItemName&lt;/span&gt;="VersionInfo2" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Output"&amp;gt;&amp;lt;/Output&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;RegexCapture&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="&lt;span class="GramE"&gt;@(&lt;/span&gt;VersionInfo2)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Publish Version = $(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; end getting version data --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;By setting the "Publish" version, an update can now be forced without having to manually change the publish version in the project.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&amp;lt;/Target&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Target Name="&lt;span class="SpellE"&gt;AfterCompile&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ &lt;span class="SpellE"&gt;BuildProjectFolderPath&lt;/span&gt;=$(&lt;span class="SpellE"&gt;BuildProjectFolderPath&lt;/span&gt;)"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ &lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;=$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ copying @(&lt;span class="SpellE"&gt;ClickOnceLandingPage&lt;/span&gt;) to $(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="GramE"&gt;Copy&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;&lt;/span&gt;="@(&lt;span class="SpellE"&gt;ClickOnceLandingPage&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Modifying landing page for app name, title, and version"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;Regex&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Path="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;RegularExpression&lt;/span&gt;="#APPLICATION_NAME#"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Force="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;Regex&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Path="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;RegularExpression&lt;/span&gt;="#TITLE#"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;ClickOnceAppTitle&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Force="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;Regex&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Path="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;RegularExpression&lt;/span&gt;="#VERSION#"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;)&lt;span class="GramE"&gt;.$&lt;/span&gt;(Revision)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Force="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegEx&lt;/span&gt; is out of &lt;span class="SpellE"&gt;Microsoft.Sdc.Common.tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;Regex&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Path="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;)\default.htm"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;RegularExpression&lt;/span&gt;="#APPDESCRIPTION#"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;NewValue&lt;/span&gt;="$(&lt;span class="SpellE"&gt;AppDescription&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Force="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Building $(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision)"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Build the Click-Once project:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: yellow;"&gt;&lt;span style="color: yellow;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;MSBuild&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Projects="$(&lt;span class="SpellE"&gt;SolutionRoot&lt;/span&gt;)/$(&lt;span class="SpellE"&gt;SolutionName&lt;/span&gt;&lt;span class="GramE"&gt;)$&lt;/span&gt;(Environment)/$(&lt;span class="SpellE"&gt;ClickOnceProjectFolder&lt;/span&gt;)/$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;).&lt;span class="SpellE"&gt;csproj&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Properties="Configuration=%(&lt;span class="SpellE"&gt;ConfigurationToBuild.FlavorToBuild&lt;/span&gt;);&lt;span class="SpellE"&gt;PublishDir&lt;/span&gt;=$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;);&lt;span class="SpellE"&gt;OutDir&lt;/span&gt;=$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;);&lt;span class="SpellE"&gt;ApplicationVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_FileVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_ProductVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_Version&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;ApplicationRevision&lt;/span&gt;=$(Revision);"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Targets="Publish" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Build your secondary (service) project:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;MSBuild&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Projects="$(&lt;span class="SpellE"&gt;SecondaryProject&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Properties="Configuration=%(&lt;span class="SpellE"&gt;ConfigurationToBuild.FlavorToBuild&lt;/span&gt;);&lt;span class="SpellE"&gt;PublishDir&lt;/span&gt;=$(&lt;span class="SpellE"&gt;WCFServicesDropLocation&lt;/span&gt;);&lt;span class="SpellE"&gt;OutDir&lt;/span&gt;=$(&lt;span class="SpellE"&gt;WCFServicesDropLocation&lt;/span&gt;);&lt;span class="SpellE"&gt;ApplicationVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_FileVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_ProductVersion&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;Satellite_Version&lt;/span&gt;=$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;).$(Revision);&lt;span class="SpellE"&gt;ApplicationRevision&lt;/span&gt;=$(Revision);"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Targets="Build" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/Target&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Target Name="&lt;span class="SpellE"&gt;AfterDropBuild&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text="Deploying files..." /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt; Include="$(&lt;span class="SpellE"&gt;VersionData&lt;/span&gt;)&lt;span class="GramE"&gt;.$&lt;/span&gt;(Revision)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Include"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;&lt;span class="SpellE"&gt;ItemName&lt;/span&gt;="&lt;span class="SpellE"&gt;TestGroup&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;RegexReplace&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;RegexReplace&lt;/span&gt; Input="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;TestGroup&lt;/span&gt;)" Expression="\." Replacement="_" Count="-1"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt; ="&lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Output" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;RegexReplace&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ &lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt; = $(&lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt;)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 3;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Include="$(&lt;span class="SpellE"&gt;LocalDropLocation&lt;/span&gt;&lt;span class="GramE"&gt;)Application&lt;/span&gt; Files\$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;)_$(&lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt;)\*.*"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 3;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt; ="Include"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 3;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;ItemName&lt;/span&gt; ="&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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;Include="$(&lt;span class="SpellE"&gt;WCFServicesDropLocation&lt;/span&gt;)\*.*"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 3;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt; ="Include"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-tab-count: 3;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;ItemName&lt;/span&gt; ="&lt;span class="SpellE"&gt;DroppedWCFItems&lt;/span&gt;"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateItem&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt; Value="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;)"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Output &lt;span class="SpellE"&gt;PropertyName&lt;/span&gt;="&lt;span class="SpellE"&gt;ApplicationFiles&lt;/span&gt;" &lt;span class="SpellE"&gt;TaskParameter&lt;/span&gt;="Value" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;span class="SpellE"&gt;CreateProperty&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Looking for Application Files in: $(&lt;span class="SpellE"&gt;ApplicationFiles&lt;/span&gt;)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ &lt;span class="SpellE"&gt;ApplicationFiles&lt;/span&gt;=$(&lt;span class="SpellE"&gt;ApplicationFiles&lt;/span&gt;)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Copying &lt;span class="SpellE"&gt;ClickOnceInstallation&lt;/span&gt; files to $(RemoteTarget1)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt;-&amp;gt;'$(RemoteTarget1)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Copying Application files to $(RemoteTarget1)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;-&amp;gt;'$(RemoteTarget1)\Application Files\$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;)_$(&lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt;)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Copying &lt;span class="SpellE"&gt;ClickOnceInstallation&lt;/span&gt; files to $(RemoteTarget2)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt;-&amp;gt;'$(RemoteTarget2)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text=&lt;span class="GramE"&gt;"&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;~&lt;/span&gt;~~ Copying Application files to $(RemoteTarget2)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedApplicationItems&lt;/span&gt;-&amp;gt;'$(RemoteTarget2)\Application Files\$(&lt;span class="SpellE"&gt;ClickOnceApplicationName&lt;/span&gt;)_$(&lt;span class="SpellE"&gt;BuildNumberFolder&lt;/span&gt;)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text="~~~~Deploying WCF files...to $(RemoteServer1)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; &lt;span class="SpellE"&gt;MachineName&lt;/span&gt;="$(RemoteServer1)" Action="Stop" &lt;span class="SpellE"&gt;ServiceName&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;)"&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedWCFItems&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedWCFItems&lt;/span&gt;-&amp;gt;'\\$(RemoteServer1)\$(&lt;span class="SpellE"&gt;RemoteServiceFolder&lt;/span&gt;)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; &lt;span class="SpellE"&gt;MachineName&lt;/span&gt;="$(RemoteServer1)" Action="Start" &lt;span class="SpellE"&gt;ServiceName&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;)"&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text="~~~~Deploying WCF files...to $(RemoteServer2)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; &lt;span class="SpellE"&gt;MachineName&lt;/span&gt;="$(RemoteServer2)" Action="Stop" &lt;span class="SpellE"&gt;ServiceName&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;)"&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Copy&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;SourceFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedWCFItems&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;DestinationFiles&lt;/span&gt;="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;DroppedWCFItems&lt;/span&gt;-&amp;gt;'\\$(RemoteServer2)\$(&lt;span class="SpellE"&gt;RemoteServiceFolder&lt;/span&gt;)\%(Filename)%(Extension)')"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; is out of&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;MSBuild.Community.Tasks&lt;/span&gt; --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt; &lt;span class="SpellE"&gt;MachineName&lt;/span&gt;="$(RemoteServer2)" Action="Start" &lt;span class="SpellE"&gt;ServiceName&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RemoteService&lt;/span&gt;)"&amp;gt;&amp;lt;/&lt;span class="SpellE"&gt;ServiceController&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; FTP to Target Starts here --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;!--&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text="~~~ Uploading files " /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;FTP&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;LocalRootPath&lt;/span&gt;="&lt;span class="GramE"&gt;e:&lt;/span&gt;\$(&lt;span class="SpellE"&gt;SourceCodeProject&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;)$(Environment)\"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Task="upload"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Files="&lt;span class="GramE"&gt;@(&lt;/span&gt;&lt;span class="SpellE"&gt;ClickOnceInstallationFiles&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="SpellE"&gt;RemotePath&lt;/span&gt;="$(&lt;span class="SpellE"&gt;RemoteDISTFolder&lt;/span&gt;)"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Host="$(RemoteServer1)" Username="$(&lt;span class="SpellE"&gt;FTPDeployServerUsername&lt;/span&gt;)" Password="$(&lt;span class="SpellE"&gt;FTPDeployServerPassword&lt;/span&gt;)" Binary="true" &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/FTP&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; FTP to target ends here --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;&lt;span style="font-size: 12pt;"&gt;Clean up the build folders.&amp;nbsp; Once deployed, you generally don't need the stuff on the build machines.&amp;nbsp; So remove all unnecessary stuff to save on disk space.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="GramE"&gt;&amp;lt;!--&lt;/span&gt; Clean up --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Message Text="~~~ Deleting files (cleanup)" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Exec &lt;span class="SpellE"&gt;ContinueOnError&lt;/span&gt;="true"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Command="&lt;span class="SpellE"&gt;rmdir&lt;/span&gt; /s/q &amp;amp;&lt;span class="SpellE"&gt;quot&lt;span class="GramE"&gt;;e&lt;/span&gt;&lt;/span&gt;:\$(&lt;span class="SpellE"&gt;SourceCodeProject&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;SolutionFolder&lt;/span&gt;)$(Environment)&amp;amp;&lt;span class="SpellE"&gt;quot&lt;/span&gt;;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Exec &lt;span class="SpellE"&gt;ContinueOnError&lt;/span&gt;="true"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&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; &lt;/span&gt;Command="&lt;span class="SpellE"&gt;rmdir&lt;/span&gt; /s/q &amp;amp;&lt;span class="SpellE"&gt;&lt;span class="GramE"&gt;quot&lt;/span&gt;&lt;/span&gt;&lt;span class="GramE"&gt;;&lt;/span&gt;$(&lt;span class="SpellE"&gt;DropLocation&lt;/span&gt;)\$(&lt;span class="SpellE"&gt;BuildNumber&lt;/span&gt;)\&lt;span class="SpellE"&gt;Release&amp;amp;quot&lt;/span&gt;;" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/Target&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: yellow; font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="color: yellow; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&amp;lt;/Project&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Courier New; font-size: xx-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-800244598285664466?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/800244598285664466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/06/team-systems-project-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/800244598285664466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/800244598285664466'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/06/team-systems-project-update.html' title='Team Systems Project Update'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-2274952749388797813</id><published>2010-04-08T11:13:00.002-04:00</published><updated>2010-06-24T13:28:12.290-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenVMS'/><title type='text'>ClickOnce and OpenVMS</title><content type='html'>&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Tasked with deploying our Windows ClickOnce application to Apache running on OpenVMS, I never imagined the pain I'd encounter.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;Yes, it can be made to work.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;First requirement, the OpenVMS server must be ODS5 to handle long filenames with spaces and extra dots.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;I set up Team Systems to automatically build and FTP the deployment to the Apache directories on the OpenVMS server.&amp;nbsp; I set up a custom task for the FTP which utilized the FTP classes built into .NET.&amp;nbsp; This proved to be a huge mistake.&amp;nbsp; It appears that the FTP conventions Microsoft uses doesn't play well with the FTP conventions used by OpenVMS.&amp;nbsp; So long as I only uploaded files to directories directly under the root or directly to the default user directory, I had no problems.&amp;nbsp; But the problem was with deploying to subdirectories, particularly if they had those spaces or extra dots.&amp;nbsp; There was no way to properly define the path using the URI convention that .NET uses.&amp;nbsp; Sure, you can use "%20" to represent the space, but for some reason OpenVMS got real confused by the URI convention.&amp;nbsp; OpenVMS uses brackets ("[" and "]") for directory identification, with periods for subdirectories ("[MAIN.SUBDIRECTORY]" as opposed to "c:\MAIN\SUBDIRECTORY\"), and trying to FTP with a URI ("&lt;a href="ftp://main/SUBDIRECTORY"&gt;ftp://MAIN/SUBDIRECTORY&lt;/a&gt;") &lt;/span&gt;doesn't translate well when there are special characters in the URI.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;And no matter what I did, I could not make it work.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial; font-size: x-small;"&gt;I finally succeeded by instead creating a DOS-style FTP command script and using Process.Start to shell out to the built-in Windows FTP command.&amp;nbsp; It turned out not being all that much more complicated than using the built-in .NET FTP.&amp;nbsp; The only thing I really lost was accurancy in determining success or fail of the transfer.&amp;nbsp; I may be able to handle this by capturing standard error on Process.Start, but this is something for another time--when I'm bored or something.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-2274952749388797813?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/2274952749388797813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2010/04/clickonce-and-openvms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/2274952749388797813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/2274952749388797813'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2010/04/clickonce-and-openvms.html' title='ClickOnce and OpenVMS'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3969049725886084262</id><published>2009-12-17T13:01:00.001-05:00</published><updated>2009-12-17T13:01:11.697-05:00</updated><title type='text'>Detecting Design Mode in WPF controls</title><content type='html'>&lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;Who would've thought that it would be difficult to  find information on detecting Design mode in WPF controls.&amp;nbsp; In Winforms,  there is a simple DesignMode boolean property you can check, but it's not so  obvious in WPF, plus Bing searches gave convoluted answers (you know, the kind  of answer you get from a know-it-all geek), although the answer was  there.&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;So here's the beef:&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2  face=Arial&gt;System.ComponentModel.DesignerProperties.GetIsInDesignMode(this);&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;This returns a boolean, and "this" is your  UserControl or something that is&amp;nbsp;a  DependencyObject.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3969049725886084262?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3969049725886084262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/detecting-design-mode-in-wpf-controls.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3969049725886084262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3969049725886084262'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/detecting-design-mode-in-wpf-controls.html' title='Detecting Design Mode in WPF controls'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-611973732667534856</id><published>2009-12-08T07:25:00.001-05:00</published><updated>2009-12-16T07:51:37.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dispatcher'/><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='thread'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Updating WPF window from background thread</title><content type='html'>I like to do things in the background--you know, you've got a long-running process, so you don't want to bother the user while it runs.&lt;br /&gt;&lt;br /&gt;But you want to notify the user when the process is done.&amp;nbsp; Trouble is, since the background process is running in a different thread from the user interface, the process crashes if you make any attempt to update the user interface directly.&lt;br /&gt;&lt;br /&gt;Here's some sample code to solve this with the Dispatcher--kind of well known, but nice to document anyhow:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;void UpdateText(string text)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.Dispatcher != System.Windows.Threading.Dispatcher.CurrentDispatcher)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Dispatcher.Invoke(new Action&lt;string&gt;(Update), text);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.sampleTextBox.Text = text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-611973732667534856?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/611973732667534856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/updating-wpf-window-from-background.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/611973732667534856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/611973732667534856'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/updating-wpf-window-from-background.html' title='Updating WPF window from background thread'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-8213148668387210144</id><published>2009-12-07T07:42:00.001-05:00</published><updated>2009-12-16T07:50:57.784-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='cast'/><title type='text'>C# Inheritance, Typecasting, and Reflection</title><content type='html'>Did you know that an inherited class cannot be cast into its base class so that reflection will think it's working with the base class?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This proved a minor nuisance as the code had a simplistic work-around, but this might not always be the case.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Below is an example of what I'm talking about:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;using System.Reflection;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;public static class UtilityClass&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static object GetResult(object workClass)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string ResultingClassName = "Result" + workClass.GetType().ToString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type provider = Type.GetType(ClassName, true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ConstructorInfo constructor = provider.GetConstructor(new Type[0]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return constructor.Invoke(new object[0]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;public class ResultClass&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ResultClass()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;public class Class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ResultClass GetResult()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (ResultClass)UtilityClass.GetResult(this);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;public class ChildClass : Class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DoTest()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultClass x = ((Class)this).GetResult();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above code will fail with an exception&amp;nbsp;when DoTest() in ChildClass is called, because it will try to create ResultChildClass, which does not exist.&amp;nbsp; No matter how you cast, you can't get this to work, because the GetResult method of UtilityClass, using Reflection, will always identify the object for what it really is.&lt;br /&gt;&lt;br /&gt;In my case, the solution was to simply create a new "Class" object and copy the base of the ChildClass object into it, then call the "GetResult" method to get my "ResultClass".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-8213148668387210144?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/8213148668387210144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/c-inheritance-typecasting-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8213148668387210144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8213148668387210144'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/c-inheritance-typecasting-and.html' title='C# Inheritance, Typecasting, and Reflection'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3153536921608297301</id><published>2009-12-04T07:33:00.002-05:00</published><updated>2009-12-16T07:50:34.966-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>System.OutOfMemoryException from Visual Studio</title><content type='html'>Lately, with my WPF project, I commonly get OutOfMemoryException whey I try to run my project. Visual Studio builds the project, then gets the exception when it tries to start up the executable.&lt;br /&gt;&lt;br /&gt;I found a decent work-around is to Build the solution first. Then run the solution. This two-step process seems to solve the issue in that when you run it, Visual Studio doesn't build it--so I guess it's got time to clean up memory before starting your executable.&lt;br /&gt;&lt;br /&gt;You might eventually still run out of memory, but this'll give you some extra time before you have to close Visual Studio and start it up again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3153536921608297301?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3153536921608297301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/systemoutofmemoryexception-from-visual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3153536921608297301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3153536921608297301'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/systemoutofmemoryexception-from-visual.html' title='System.OutOfMemoryException from Visual Studio'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-150588230647705415</id><published>2009-12-03T07:32:00.001-05:00</published><updated>2009-12-04T07:10:52.666-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet'/><category scheme='http://www.blogger.com/atom/ns#' term='Binding'/><title type='text'>XAML Binding to Datasets</title><content type='html'>Found that DataSets make lousy binds for WPF forms when the data must be updated from something other than directly by the user, because datasets do not implement INotifyPropertyChanged.&lt;br /&gt;&lt;br /&gt;Datasets are great when the data is OneWay binding, because heirarchical data relationships are so easy to define. But you've got to get creative and use something else, such as a BindingList&amp;lt;&amp;gt; when the binding must be TwoWay or OneWayToSource.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-150588230647705415?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/150588230647705415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/xaml-binding-to-datasets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/150588230647705415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/150588230647705415'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/xaml-binding-to-datasets.html' title='XAML Binding to Datasets'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-7906245637357321831</id><published>2009-12-02T07:16:00.002-05:00</published><updated>2009-12-02T13:28:22.555-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Intellisense'/><title type='text'>XAML and the loss of Intellisense</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;Last week I reported losing my intellisense and tag  completion on XAML pages.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;I finally figured out the cause--and it's not  good.&amp;nbsp; I happend to start up a new solution with a single page and all of a  sudden I noticed I had my Intellisense and tag completion back!&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;After getting all excited about it, I went back to  my original solution that was having problems--Intellisense and code completion  disappeared.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Yet they came back with the nothing of a  solution.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Okay--I get the hint.&amp;nbsp; XAML and WPF take lots  and lots of RAM.&amp;nbsp; I have only 2GB.&amp;nbsp; From what I'm gathering, you need  at least 3GB RAM.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;All this only after I totally hosed up my Visual  Studio trying to figure it all out.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-7906245637357321831?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/7906245637357321831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/xaml-and-loss-of-intellisense.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7906245637357321831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7906245637357321831'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/xaml-and-loss-of-intellisense.html' title='XAML and the loss of Intellisense'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-5414424173205871373</id><published>2009-12-01T15:28:00.002-05:00</published><updated>2009-12-02T13:29:03.188-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Syncfusion'/><title type='text'>Using Syncfusion</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;I'll give the support team at Syncfusion  credit--they do seem to respond quickly to help you out.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;But I'd give the development team there a failing  grade.&amp;nbsp; They seem to be prone to deploy rather buggy controls for WPF  use.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Seems getting "NullReferenceException" is  commonplace with their controls.&amp;nbsp; And I just stumbled onto a stupid  one--using their DateTimeEdit control and setting the MinDateTime attribute  causes the control to display "01/01/0001" as its datetime value.&amp;nbsp; These  kind of bugs are extremely annoying when you are trying to get a job done.&amp;nbsp;  They're so bad that I don't know how they get away with charging for them when  so many open-source and non-buggy alternatives are available.&amp;nbsp; Had I been  give the ability to choose which controls to use, Syncfusion would never have  been considered.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Fortunately, I stumbled onto &lt;a  href="http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117"&gt;http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117&lt;/A&gt;.&amp;nbsp;  There is a DatePicker control there that'll work for me--and there's probably a  large number of other controls.&amp;nbsp; Especially since Syncfusion is about as  crappy as it comes--try finding what you need without asking their support  department--I'm going to trash the Syncfusion control usage wherever  possible.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-5414424173205871373?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/5414424173205871373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/12/using-syncfusion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5414424173205871373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5414424173205871373'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/12/using-syncfusion.html' title='Using Syncfusion'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-1968836206030344987</id><published>2009-11-27T11:39:00.002-05:00</published><updated>2009-11-30T16:11:53.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='GridDataControl'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Syncfusion'/><title type='text'>Syncfusion GridDataControl and referencing other columns</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;I was using the Syncfusion GridDataControl in WPF  and needed to reference a different column from within the column I was in, so  that different attributes could be set based on other columns.&amp;nbsp; Found out  from the SyncFusion Form support center that it's pretty easy.&amp;nbsp; Just set  the Binding Path as follows:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Binding  Path=Record.Data.OtherColumnName&lt;/FONT&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-1968836206030344987?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/1968836206030344987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/11/syncfusion-griddatacontrol-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1968836206030344987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1968836206030344987'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/11/syncfusion-griddatacontrol-and.html' title='Syncfusion GridDataControl and referencing other columns'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-292135397128450081</id><published>2009-11-27T11:37:00.004-05:00</published><updated>2009-11-30T16:13:36.015-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='Binding'/><title type='text'>WPF form and debugging data</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;I never realized just how painful it can be to  debug data that should (or should not) display on a XAML form.&amp;nbsp; I bound a  XAML form to a DataSet.&amp;nbsp; There was a problem with one of the columns in the  dataset that caused problems with the XAML form.&amp;nbsp; But since there is no way  to step through the debugger on the XAML, there was no way to figure out what  the specific data was that was giving me problems.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;The problem was solved through a Converter.&amp;nbsp; I  discovered you can put a breakpoint on a converter, then view your data.&amp;nbsp;  In my case, I had no need of a converter, so couldn't set up a  breakpoint.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;The solution was to add a special converter.&amp;nbsp;  This one did not do any actual conversion--it simply returned the passed  value.&amp;nbsp; But it gave me a simple way to put a breakpoint.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Below is the converter code:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff  size=2&gt; &lt;p&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; &lt;/FONT&gt;&lt;font color=#2b91af size=2&gt;&lt;font  color=#2b91af size=2&gt;LogObjectDataConverter&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; :  &lt;/FONT&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af  size=2&gt;IValueConverter&lt;br /&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt;{&lt;br /&gt;&lt;/FONT&gt;&lt;font  color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;#region&lt;/FONT&gt;&lt;/FONT&gt;&lt;font  size=2&gt; IValueConverter Members&lt;br /&gt;&lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font  color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; &lt;/FONT&gt;&lt;font  color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font  size=2&gt; Convert(&lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff  size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; value, &lt;/FONT&gt;&lt;font color=#2b91af  size=2&gt;&lt;font color=#2b91af size=2&gt;Type&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; targetType,  &lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff  size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; parameter,  System.Globalization.&lt;/FONT&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af  size=2&gt;CultureInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt;  culture)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font  color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt;  value;&lt;br /&gt;}&lt;br /&gt;&lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff  size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; &lt;/FONT&gt;&lt;font color=#0000ff size=2&gt;&lt;font  color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; ConvertBack(&lt;/FONT&gt;&lt;font  color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font  size=2&gt; value, &lt;/FONT&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af  size=2&gt;Type&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; targetType, &lt;/FONT&gt;&lt;font color=#0000ff  size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; parameter,  System.Globalization.&lt;/FONT&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af  size=2&gt;CultureInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;font size=2&gt; culture)&lt;br /&gt;{&lt;br /&gt;&lt;/FONT&gt;&lt;font  color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;/FONT&gt;&lt;font  size=2&gt; value;&lt;br /&gt;}&lt;br /&gt;&lt;/FONT&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-292135397128450081?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/292135397128450081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/11/wpf-form-and-debugging-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/292135397128450081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/292135397128450081'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/11/wpf-form-and-debugging-data.html' title='WPF form and debugging data'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-8729782930117349919</id><published>2009-11-19T16:33:00.002-05:00</published><updated>2009-12-02T13:31:22.558-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Publish'/><title type='text'>0x8007001f from ClickOnce install/upgrade</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;This has got to be the most painful thing to  come across on a ClickOnce install.&amp;nbsp; Error messages are almost meaningless  and Google searches produce nothing useful.&amp;nbsp; I'm documenting my torment in  finding a solution in the event someone else comes across the same  thing.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;The problem was first encountered when we updated  one third-party dll.&amp;nbsp; The error produced during install or upgrade was  :&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2  face=Arial&gt;System.Deployment.Application.InvalidDeploymentException  (ManifestLoad)&lt;br /&gt;&amp;nbsp;&amp;nbsp;- Exception occurred loading manifest from file  &amp;lt;dllfilename&amp;gt;.dll: the manifest may not be valid or the file could not be  opened. &lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Further down the log was:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2  face=Arial&gt;System.Deployment.Application.InvalidDeploymentException  (ManifestParse)&lt;br /&gt;&amp;nbsp;&amp;nbsp;- Parsing and DOM creation of the manifest  resulted in error. Following parsing errors were noticed:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;And finally:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2  face=Arial&gt;System.Runtime.InteropServices.COMException&lt;br /&gt;&amp;nbsp;&amp;nbsp;- A device  attached to the system is not functioning. (Exception from HRESULT:  0x8007001F)&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;I sent an email to the third-party vendor's support  department for help, and they gave me a checklist of things to try.&amp;nbsp;  Unfortunately, they were of the "if all else fails, blow it away and restart  from scratch" nature--if the pc had other ClickOnce applications installed, they  would also be blown away in following their instructions, and neither I nor  they&amp;nbsp;weren't even sure any of their suggestions would work.&amp;nbsp; So I  tried their suggestions in a much more controlled and refined approach--choosing  to be more surgical in fixing the issues.&amp;nbsp; I used a PC that had the old  version of the application installed at one point that I didn't care about any  other Click Once application it had (just in case).&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Their tips:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;1. Try uninstalling and reinstalling.&amp;nbsp; No  good--I already had the application uninstalled to start with.&amp;nbsp; bogus  tip.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;2. Try running:&amp;nbsp;&amp;nbsp; mage -cc.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;This clears the Application Cache.&amp;nbsp; Sounds  promising, but no good--same problem.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;3. Delete the ClickOnce application store.&amp;nbsp;  &lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;This just sounds bad--I'm certain it'll blow away  all Click Once applications.&amp;nbsp; I just want to clear out one ClickOnce  application.&amp;nbsp; Better yet--just clear out any references to the DLL I'm  updating.&amp;nbsp; Well, they gave these steps:&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. Make sure DFSVC.EXE process  is not running.&amp;nbsp; Check.&amp;nbsp; It was running.&amp;nbsp; They say to killing out  right (from Task manager).&amp;nbsp; Bummer--this might mean a reboot when done,  unless I can find the Services to run to restart it.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. Delete the application store  folder %userprofile%\Local Settings\Apps.&amp;nbsp; Okay, this is where I'm going to  try to be a bit surgical.&amp;nbsp; If being surgical fails, I'll use the  nukes.&amp;nbsp; I found the folders that contained copies of my old version dll and  made sure the folder was for my application (even though the application was not  installed), deleting the entire folder (it's not installed anyhow, so it  shouldn't matter).&amp;nbsp; That failed because one of the files was in use.&amp;nbsp;  I was able to delete the old-version dll I cared about, so that was good  enough.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c. Delete folder  %userprofile%\Local Settings\Apps.&amp;nbsp; I don't know, but that sounds a lot  like&amp;nbsp;"b" above.&amp;nbsp; okay--I'm moving on.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; d. Delete &lt;font size=3  face="Times New Roman"&gt;HKCU\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment.&amp;nbsp;  That's Regedit, and looking into it, there's a lot there.&amp;nbsp; Being surgical,  I went further down to \SideBySide\2.0\Components\ and found the folder for my  DLL, deleting the whole folder.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3 face="Times New Roman"&gt;I did all this  and tried to install again--dfsvc did start on its own so a reboot wasn't  necessary--but the install still failed.&amp;nbsp; Okay, let's try bigger  guns.&amp;nbsp; I searched the registry for my dll underneath the Deployment key and  found a few other copies (after stopping that DFSVC process).&amp;nbsp; Same&amp;nbsp;  thing.&amp;nbsp; Okay--time for the "deployment" key to be deleted.&amp;nbsp; Also  removing the "Apps" folder.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3  face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3 face="Times New Roman"&gt;NOTHING  WORKS!!!!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3 face="Times New Roman"&gt;Finally gave up  entirely.&amp;nbsp; We determined that the third-party vendor had to be installed in  the GAC anyhow to work--so we just removed the file from the project and made  sure the reference was set up to use the GAC version.&amp;nbsp; Problem  solved.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3  face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3 face="Times New Roman"&gt;I spent most of  the day Googling and Binging for help on this--even Microsoft either didn't  respond with answers on the few forums that encountered the problem, or if  Microsoft did respond it was with an answer that didn't make sense--or didn't  explain how you would accomplish the recommended task.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3  face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;font size=3 face="Times New Roman"&gt;I just hope I  never see this one again.&amp;nbsp; But if I do--I hope the answer gets  found.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;/FONT&gt; &lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-8729782930117349919?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/8729782930117349919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/11/0x8007001f-from-clickonce.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8729782930117349919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8729782930117349919'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/11/0x8007001f-from-clickonce.html' title='0x8007001f from ClickOnce install/upgrade'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-5586400254725291882</id><published>2009-10-28T13:35:00.004-04:00</published><updated>2009-10-28T13:40:04.010-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>Why Team Build won't customize app.config</title><content type='html'>&lt;div&gt;&lt;font size=2 face=Arial&gt;I was bashing my head over app.config not getting  customized upon deployment, even though I confirmed values changed in  app.config before the compile step.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;Then it occurred to me that I was using user  settings, and that a Settings.settings file was being generated.&amp;nbsp; It looks  like this modifiying this file for default values is actually more important  that modifying the app.config file, depending on how you are doing your  settings.&lt;/FONT&gt;&lt;/DIV&gt;&lt;div&gt;&lt;font size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-5586400254725291882?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/5586400254725291882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/10/why-team-build-wont-customize-appconfig.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5586400254725291882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5586400254725291882'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/10/why-team-build-wont-customize-appconfig.html' title='Why Team Build won&apos;t customize app.config'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-8583114989536720375</id><published>2009-09-30T16:44:00.004-04:00</published><updated>2009-10-07T12:57:10.914-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scanning'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WIA'/><title type='text'>WIA in C# Redux: for Vista!</title><content type='html'>Of all the insanity! The scanning code I posted earlier does not work with the default configuration of Vista!  Vista does not have the wiascr.dll file.  However, it does have wiaaut.dll.  Code I found at http://www.eggheadcafe.com/community/aspnet/2/76650/heres-some-sample-code.aspx finally gave me the answer after bashing my head around.  It was easy to find code that worked for a WebCam, but nearly impossible to find code that worked for the scanner I was using.  I guess no one out there uses scanners.  Anyway, here's the modified code. Note that I added a ScannerException class--this just inherits the Exception class--nothing special about it:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// This is a simple wrapper around WIA.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public class Scanner&lt;br /&gt;{&lt;br /&gt;public class AcquireEventArgs : EventArgs&lt;br /&gt;{&lt;br /&gt;public Image Image { get; internal set; }&lt;br /&gt;}&lt;br /&gt;WIA.DeviceManager manager = new WIA.DeviceManagerClass();&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Acquires the images.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public void AcquireImages()&lt;br /&gt;{&lt;br /&gt;WIA.CommonDialogClass diag = new WIA.CommonDialogClass();&lt;br /&gt;System.Object Object1 = null;&lt;br /&gt;System.Object Object2 = null;&lt;br /&gt;WIA.Device dev = null;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;dev = diag.ShowSelectDevice(WIA.WiaDeviceType.UnspecifiedDeviceType, true, false);&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;if (ex.Message.EndsWith("00153.") || ex.Message.EndsWith("21006A."))&lt;br /&gt;{&lt;br /&gt;throw new ScannerException("Scanner Not connected", ex);&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;throw new ScannerException("Scanner problem", ex);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;if (dev != null)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;WIA.Item Item1 = ItemObjectReturnedFromInitializingScanner(ref dev);&lt;br /&gt;WIA.ImageFile Image1 = new WIA.ImageFile();&lt;br /&gt;WIA.ImageProcess ImageProcess1 = new WIA.ImageProcess();&lt;br /&gt;Object1 = (Object)"Convert";&lt;br /&gt;ImageProcess1.Filters.Add(ImageProcess1.FilterInfos.get_Item(ref Object1).FilterID, 0);&lt;br /&gt;Object1 = (Object)"FormatID";&lt;br /&gt;Object2 = (Object)WIA.FormatID.wiaFormatTIFF;&lt;br /&gt;ImageProcess1.Filters[1].Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;Object1 = (Object)"Compression";&lt;br /&gt;Object2 = (Object)"CCITT4";&lt;br /&gt;ImageProcess1.Filters[1].Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;Object1 = null;&lt;br /&gt;Object2 = null;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;WIA.ImageFile imagefile = Item1.Transfer(WIA.FormatID.wiaFormatTIFF) as WIA.ImageFile;&lt;br /&gt;&lt;br /&gt;if (ImageScanned != null)&lt;br /&gt;{&lt;br /&gt;AcquireEventArgs e = new AcquireEventArgs();&lt;br /&gt;using (MemoryStream ms = new MemoryStream((byte[])imagefile.FileData.get_BinaryData()))&lt;br /&gt;{&lt;br /&gt;    e.Image = new Bitmap(ms);&lt;br /&gt;}&lt;br /&gt;ImageScanned(this, e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;throw new ScannerException("Problem with Scanner", ex);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private WIA.Item ItemObjectReturnedFromInitializingScanner(ref WIA.Device Scanner)&lt;br /&gt;{&lt;br /&gt;WIA.Item Item1 = null;&lt;br /&gt;Object Object1 = null;&lt;br /&gt;Object Object2 = null;&lt;br /&gt;Int32 DPI = 200;&lt;br /&gt;foreach (WIA.Item CurrentItem in Scanner.Items) // 'Scanner settings. &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Item1 = CurrentItem;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6146";&lt;br /&gt;Object2 = (Object)4;&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6147";&lt;br /&gt;Object2 = (Object)DPI;&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6148";&lt;br /&gt;Object2 = (Object)DPI;&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6149";&lt;br /&gt;Object2 = (Object)0;&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6150";&lt;br /&gt;Object2 = (Object)0;&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6151";&lt;br /&gt;Object2 = (Object)(8.5 * DPI);&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)"6152";&lt;br /&gt;Object2 = (Object)(11.5 * DPI);&lt;br /&gt;CurrentItem.Properties.get_Item(ref Object1).set_Value(ref Object2);&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{ }&lt;br /&gt;&lt;br /&gt;foreach (WIA.Property Prop in Scanner.Properties)&lt;br /&gt;{&lt;br /&gt;if (Prop.PropertyID == 3088) //&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;Object1 = (Object)5;&lt;br /&gt;Prop.set_Value(ref Object1); //'This is my effort to enforce duplex. I&lt;br /&gt;}&lt;br /&gt;catch (Exception) { }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;Object1 = null;&lt;br /&gt;Object2 = null;&lt;br /&gt;return Item1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Occurs when [image scanned].&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public event EventHandler&lt;acquireeventargs&gt; ImageScanned;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-8583114989536720375?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/8583114989536720375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/09/wia-in-c-redux-for-vista.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8583114989536720375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/8583114989536720375'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/09/wia-in-c-redux-for-vista.html' title='WIA in C# Redux: for Vista!'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-6218493054065920407</id><published>2009-09-21T10:37:00.005-04:00</published><updated>2009-09-21T10:50:42.672-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><title type='text'>Mouse drawing in WPF</title><content type='html'>&lt;div&gt;I was trying to build a simple control to allow mouse drawing via the WPF.  I found one web site that seemed to make the process a bit more complicated than doing the same thing in Windows Forms--but I tried it anyhow, and I simply couldn&amp;#39;t make it work.  I don&amp;#39;t remember the website, but it basically used a canvas, and attempted to draw shapes on it based on Mouse movements.  I had implemented routines bound to MouseDown, MouseUp, and MouseMove events, but those events never seemed to execute.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Then I discovered the InkCanvas control--and that solved all my problems.  That original code must have come from before the existance of the InkCanvas, or the programmer simply didn&amp;#39;t know any better.  After switching to use the InkCanvas code I could remove all event handling code so that I only needed the code to capture the resulting image and save it.  Below is the XAML:&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;&amp;lt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;UserControl&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; x&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Class&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;RCO.Imaging.SignaturePad.MouseSignaturePad.SignaturePad&amp;quot;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;xmlns&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/a&gt;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;xmlns&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;x&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;HorizontalAlignment&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; Width&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; Height&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; VerticalAlignment&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt; &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;InkCanvas&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;canvas1&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; Width&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; Height&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt; VerticalAlignment&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;HorizontalAlignment&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;InkCanvas&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt; &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;&amp;lt;/&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;UserControl&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;p&gt;And here is the C# behind it:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;  &lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Collections.Generic;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Linq;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Text;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Controls;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Data;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Documents;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Input;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Media;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Media.Imaging;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Navigation;&lt;br&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.Windows.Shapes;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;p&gt;namespace&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; MousePad&lt;br&gt;{&lt;br&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;summary&amp;gt;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; Interaction logic for SignaturePad.xaml&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;///&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#808080" size="2"&gt;&lt;font color="#808080" size="2"&gt;&amp;lt;/summary&amp;gt;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;partial&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SignaturePad&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; : &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;UserControl&lt;font color="#0000ff"&gt;&lt;br&gt; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br&gt;    &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SignaturePad()&lt;br&gt;    {&lt;br&gt;        InitializeComponent();&lt;br&gt;    } &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;    public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;RenderTargetBitmap&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ToImageSource(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FrameworkElement&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; obj)&lt;br&gt;     { &lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;        // Save current canvas transform&lt;br&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Transform&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; transform = obj.LayoutTransform;&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;obj.LayoutTransform = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// fix margin offset as well&lt;br&gt;         &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Thickness&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; margin = obj.Margin;&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;obj.Margin = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Thickness&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(0, 0,&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;margIn.Right - margin.Left, margin.Bottom - margin.Top);&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// Get the size of canvas&lt;br&gt;         &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Size&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; size = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Size&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(obj.ActualWidth, obj.ActualHeight);&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// force control to Update&lt;br&gt;        &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;obj.Measure(size);&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;obj.Arrange(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Rect&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(size));&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;RenderTargetBitmap&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; bmp = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;RenderTargetBitmap&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)obj.ActualWidth, (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)obj.ActualHeight, 96, 96, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;PixelFormats&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Pbgra32);&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;bmp.Render(obj);&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// return values as they were before&lt;br&gt;        &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;obj.LayoutTransform = transform;&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;obj.Margin = margin;&lt;br&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; bmp;&lt;br&gt;    }&lt;br&gt;    &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AcceptImage()&lt;br&gt;     {&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#008000"&gt;        &lt;/font&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (System.IO.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MemoryStream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; outStream = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; System.IO.&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MemoryStream&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;())&lt;br&gt; &lt;font color="#008000"&gt;        &lt;/font&gt;{&lt;br&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;            // Use png encoder for our data&lt;br&gt;            &lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;PngBitmapEncoder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; encoder = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;PngBitmapEncoder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;br&gt; &lt;font color="#008000"&gt;            &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// push the rendered bitmap to it&lt;br&gt;            &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;encoder.Frames.Add(&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;BitmapFrame&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Create(ToImageSource(canvas1)));&lt;br&gt; &lt;font color="#008000"&gt;            &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;font color="#008000"&gt;// save the data to the stream&lt;br&gt;            &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;encoder.Save(outStream);&lt;br&gt;&lt;font color="#008000"&gt;            &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;outStream.Position = 0;&lt;br&gt; &lt;font color="#008000"&gt;            //  Do something with the MemoryStream here--save it to file or pass it back into system.&lt;br&gt;        &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;} &lt;p&gt;    }&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-6218493054065920407?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/6218493054065920407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/09/mouse-drawing-in-wpf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6218493054065920407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6218493054065920407'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/09/mouse-drawing-in-wpf.html' title='Mouse drawing in WPF'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-5347010678541014205</id><published>2009-09-17T14:14:00.004-04:00</published><updated>2009-09-21T10:44:07.003-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scanning'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WIA'/><title type='text'>WIA in C#</title><content type='html'>&lt;DIV&gt;&lt;B&gt;Been awhile.&amp;nbsp; Ran into&amp;nbsp;a problem of needing to write code to  acquire an image from a scanner.&amp;nbsp; I had done TWAIN coding, but I've found  that TWAIN is now gone by the wayside--in otherwords, don't use it.&lt;/B&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;Instead, use WIA.&amp;nbsp; I had found Microsoft's WIA SDK, but  discovered that its examples are in VB6, to give you an idea how old the stuff  is.&amp;nbsp; And on top of it--it seemed a bit convoluted.&lt;/STRONG&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;Then I ran into &lt;A  href="http://www.codeproject.com/KB/dotnet/wiascriptingdotnet.aspx"&gt;http://www.codeproject.com/KB/dotnet/wiascriptingdotnet.aspx&lt;/A&gt;,  which had a good example, though a little on the incomplete side (he left off  the variable declaration statements).&amp;nbsp; It seemed too simple, but I tried it  out.&amp;nbsp;&lt;/STRONG&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;And wouldn't you know it--that was all that was needed!&amp;nbsp;  The&amp;nbsp;link also include video information, but that was beyond the scope of  my project.&lt;/STRONG&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;Below is my code which wraps the WIA (strongly based on the above  link).&amp;nbsp; All you need to do is create the Scanner object, assign the  "ImageScanned" event, the call the AcquireImages method.&amp;nbsp; This code works  asynchronously, so you can have other things going on while you wait for the  images:&lt;/STRONG&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  System;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  System.Collections.Generic;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  System.Drawing;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  System.IO;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  System.Runtime.InteropServices;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; WIALib;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;namespace&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  WIAWrapper&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT  color=#008000 size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT  color=#808080 size=2&gt;&amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt; This is a simple wrapper around  WIA.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT  color=#808080 size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT  color=#008000 size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT  color=#808080 size=2&gt;&amp;lt;/summary&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;Scanner&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;AcquireEventArgs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; : &lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;EventArgs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Image&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  Image { &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;get&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;internal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;;  }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  object&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; selectUsingUI = System.Reflection.&lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Missing&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;.Value;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt; wiaRoot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  WIALib.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;WiaClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; wiaManager;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt; Scanner()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  wiaManager = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; WIALib.&lt;/FONT&gt;&lt;FONT color=#2b91af  size=2&gt;&lt;FONT color=#2b91af size=2&gt;WiaClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  wiaRoot = (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;ItemClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)wiaManager.Create(&lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ref&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  selectUsingUI);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;/FONT&gt;&lt;FONT  color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  Acquires the images.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;/summary&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  AcquireImages()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;Image&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; retVal = &lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#2b91af  size=2&gt;&lt;FONT color=#2b91af size=2&gt;Image&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;&amp;gt;();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  CollectionClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; wiaPics =  wiaRoot.GetItemsFromUI(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;WiaFlag&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.SingleImage, &lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;WiaIntent&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;.ImageTypeColor) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;as&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;CollectionClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  wiaManager.OnTransferComplete += &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af  size=2&gt;&lt;FONT color=#2b91af  size=2&gt;_IWiaEvents_OnTransferCompleteEventHandler&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;(wiaManager_OnTransferComplete);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; wiaObj &lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  wiaPics)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&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;  ItemClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; wiaItem = (&lt;/FONT&gt;&lt;FONT color=#2b91af  size=2&gt;&lt;FONT color=#2b91af size=2&gt;ItemClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;Marshal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.CreateWrapperOfType(wiaObj,  &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;typeof&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;ItemClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;));&lt;BR&gt;&lt;/FONT&gt;&lt;FONT  color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&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;  string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; imgFile = &lt;/FONT&gt;&lt;FONT color=#2b91af  size=2&gt;&lt;FONT color=#2b91af size=2&gt;Path&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;.GetTempFileName();&lt;BR&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;  wiaItem.Transfer(imgFile, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;true&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt; &lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;event&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;EventHandler&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;AcquireEventArgs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; ImageScanned;&lt;/P&gt; &lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  Wias the manager_ on transfer complete.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;/summary&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;param  name="Item"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000  size=2&gt;The item.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;/param&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;///&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;  &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080 size=2&gt;&amp;lt;param  name="Path"&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000  size=2&gt;The path.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;&lt;FONT color=#808080  size=2&gt;&amp;lt;/param&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT  color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; wiaManager_OnTransferComplete(&lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Item&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;  Item, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;string&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Path)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff  size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (ImageScanned != &lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&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;  AcquireEventArgs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; e = &lt;/FONT&gt;&lt;FONT color=#0000ff  size=2&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT  color=#2b91af size=2&gt;&lt;FONT color=#2b91af  size=2&gt;AcquireEventArgs&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;();&lt;BR&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;  e.Image = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT  color=#2b91af size=2&gt;Bitmap&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT  size=2&gt;(Path);&lt;BR&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;  ImageScanned(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff  size=2&gt;this&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;,  e);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-5347010678541014205?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/5347010678541014205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/09/wia-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5347010678541014205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/5347010678541014205'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/09/wia-in-c.html' title='WIA in C#'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-1402207045625521605</id><published>2009-07-15T09:20:00.002-04:00</published><updated>2009-07-15T09:28:47.368-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPath'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Config'/><title type='text'>Using XPath to modify app.config on setup</title><content type='html'>&lt;p&gt;Sample code to modify the app.config when executing a setup package:&lt;/p&gt;&lt;p&gt;This assumes it is in the "Committed" event of a projectinstaller class. This sample only modifies a connectionString, but can easily be used for anything:&lt;/p&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;&lt;p&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; assemblypath = Context.Parameters[&lt;/span&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;"assemblypath"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;];&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; appConfigPath = assemblyPath + &lt;/span&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;".config"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;;&lt;br /&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;XmlDocument&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; doc = &lt;/span&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;&lt;span style="font-size:100%;color:#0000ff;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;XmlDocument&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;();&lt;br /&gt;doc.Load(appConfigPath);&lt;br /&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;&lt;span style="font-size:100%;color:#2b91af;"&gt;XmlNode&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; aConnection = doc.SelectSingleNode(&lt;/span&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;"/configuration/connectionStrings/add[@name=\"aConnectionIdentifier\"]"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;);&lt;br /&gt;&lt;span style="font-size:100%;"&gt;aConnection.Attributes[&lt;/span&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;"connectionString"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;].Value = &lt;/span&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;&lt;span style="font-size:100%;color:#a31515;"&gt;"Data Source=.;Initial Catalog=MyDatabase;User Id=MyUser;Password=MyPassword;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;doc.Save(appConfigPath);&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-1402207045625521605?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/1402207045625521605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/07/using-xpath-to-modify-appconfig-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1402207045625521605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/1402207045625521605'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/07/using-xpath-to-modify-appconfig-on.html' title='Using XPath to modify app.config on setup'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-202101448741833171</id><published>2009-07-08T16:04:00.001-04:00</published><updated>2009-07-09T09:30:20.186-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='DLL'/><title type='text'>Embedding your DLLs into your EXE</title><content type='html'>&lt;p&gt;Good info at &lt;a href="http://dotnetzip.codeplex.com/Wiki/View.aspx?title=Embed%20DotNetZip&amp;amp;referringTitle=Home"&gt;http://dotnetzip.codeplex.com/Wiki/View.aspx?title=Embed%20DotNetZip&amp;amp;referringTitle=Home&lt;/a&gt; for embedding your DLLs into your EXE, instead of having them separate.  Not sure why you might want to do this, other than to obfusicate your code a bit, but you never know.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-202101448741833171?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/202101448741833171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/07/embedding-your-dlls-into-your-exe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/202101448741833171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/202101448741833171'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/07/embedding-your-dlls-into-your-exe.html' title='Embedding your DLLs into your EXE'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-4694991924520464552</id><published>2009-07-08T15:59:00.001-04:00</published><updated>2009-07-09T09:29:47.969-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Zip'/><title type='text'>Great .NET Zip library</title><content type='html'>&lt;a href="http://dotnetzip.codeplex.com/"&gt;http://dotnetzip.codeplex.com&lt;/a&gt; is a super library for zip functionality in .NET.  I had problems viewing the compiled help file that you can download, but there are so many examples on the website, it really isn't necessary.  It offers functionality equivalent to what you can get with WinZip 9.0 (AES encryption, too).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-4694991924520464552?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/4694991924520464552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/07/great-net-zip-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4694991924520464552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4694991924520464552'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/07/great-net-zip-library.html' title='Great .NET Zip library'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3794351209185638935</id><published>2009-07-01T09:59:00.003-04:00</published><updated>2009-07-01T10:14:19.898-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>ClickOnce and Team Build</title><content type='html'>&lt;p&gt;Okay, I've figured it all out. First off, there are too many "Version" terms. There's the AssemblyVersion, the version the user sees on the landing page, the BuildNumber, which is commonly part of the "Version", and finally, the one thing my brain was not wrapping itself around, the "PublishVersion". This publish version is not visible to the end-user, but it's stored in the manifest and is key to letting the ClickOnce application know that an update is available. I was wanting to override it, but I wasn't fully grasping that it was really its own thing--separate from AssemblyVersion.&lt;/p&gt;&lt;p&gt;What I wanted was a PublishVersion that came from the Publish version on the properties page of the project, but used the ChangeSet in place of the Revision number. I didn't care if the Revision was updated in Source Control since it would always be ignored anyhow and overridden on each build.&lt;/p&gt;&lt;p&gt;Everything I found went through all sorts of hoops to basically accomplish this. Apparently MSBuild doesn't offer a simple way to pass this as a property on the task, so for awhile it appeared the only solution was to use MAGE somehow--but I wanted to avoid that because ther seemed to be such an overly-complicated set of configuration for it--it would also have to be used to generate the manifest&lt;/p&gt;&lt;p&gt;Then it occurred to me--the light bulb upstairs finally came on--why not just update the csproj file using a XMLModify to replace the Revision for the Publish version with the changeset. I could do this just like I modify the app.config file--in the AfterGet target override. It would be so simple and elegant--just one simple task to add to what I already had!&lt;/p&gt;&lt;p&gt;Well, for some reason I couldn't get Xml.ModifyFile to work on the csproj file, so I just switched over to File.Regex.&lt;/p&gt;&lt;p&gt;I also did find I had to make a minor tweak of the Regex that extracted the version. My Regex only worked if the Major, Minor, and build numbers were single digits. I just had to add a "+" after each bracket ("]") for it to work.&lt;/p&gt;&lt;p&gt;Finally, I had modified the Copy tasks that deployed the files to their deployment site so that only the necessary files would be copied, instead of every file (which originally included all DLLs and EXEs--I only needed the .DEPLOY and related files).&lt;/p&gt;&lt;p&gt;The template for this Team Build project can be found at &lt;a href="http://docs.google.com/View?id=ddzhk5g7_2dgt2sxdj"&gt;http://docs.google.com/View?id=ddzhk5g7_2dgt2sxdj&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I've uploaded the C# source code for the custom RegexCapture task to &lt;a href="http://docs.google.com/View?id=ddzhk5g7_3gqtnz9fs"&gt;http://docs.google.com/View?id=ddzhk5g7_3gqtnz9fs&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3794351209185638935?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3794351209185638935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/07/clickonce-and-team-build.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3794351209185638935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3794351209185638935'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/07/clickonce-and-team-build.html' title='ClickOnce and Team Build'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3472787350562843128</id><published>2009-06-26T10:51:00.003-04:00</published><updated>2009-10-27T16:38:49.368-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Image Edit'/><title type='text'>Ico to PNG conversion</title><content type='html'>&lt;a href="http://www.converticon.com/"&gt;http://www.converticon.com&lt;/a&gt; for converting icon files to png.&lt;br /&gt;&lt;br /&gt;Originally had http://www.icopng.com/index.php, but that seems to be offline, now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3472787350562843128?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3472787350562843128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/ico-to-png-conversion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3472787350562843128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3472787350562843128'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/ico-to-png-conversion.html' title='Ico to PNG conversion'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-4206906373900709520</id><published>2009-06-26T10:13:00.001-04:00</published><updated>2009-06-26T12:10:58.672-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Image Edit'/><title type='text'>Image editor to extend MS Paint (transparency &amp; animation)</title><content type='html'>Generally, for my purposes the image editor in MS Paint or Visual Studio is adequate, but both these fail to provide transparency for GIFs or PNG files.  &lt;a href="http://www.online-image-editor.com/index.cfm"&gt;http://www.online-image-editor.com/index.cfm&lt;/a&gt; is a great way to add this functionality.  Looks like it'll also do GIF animations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-4206906373900709520?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/4206906373900709520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/image-editor-to-extend-ms-paint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4206906373900709520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4206906373900709520'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/image-editor-to-extend-ms-paint.html' title='Image editor to extend MS Paint (transparency &amp; animation)'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-7721888539147585987</id><published>2009-06-26T09:37:00.001-04:00</published><updated>2009-06-26T09:40:44.998-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WinForms'/><category scheme='http://www.blogger.com/atom/ns#' term='TabControl'/><category scheme='http://www.blogger.com/atom/ns#' term='Appearance'/><title type='text'>TabControl and the Appearance property</title><content type='html'>&lt;p&gt;How insane.  I had set the Appearance property of the Tabcontrol to "Buttons" and thought, "That looks cool!"  I also set the Alignment to "Bottom".  Something different and pretty slick-looking.&lt;/p&gt;&lt;p&gt;But then I spent the next few hours trying to figure out why my custom control that I dropped on one of these tab pages wouldn't render.  I kept thinking there was something wrong with the custom control.  Finally, after a Google, &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.appearance(VS.71).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.appearance(VS.71).aspx&lt;/a&gt; explained it all.&lt;/p&gt;&lt;p&gt;Selecting "Buttons" or "FlatButtons" for the TabControl's Appearance property requires that the Alignment be "Top". Of course, the notation just says that the alignment must be "Top" or the "Buttons" won't display correctly.  It doesn't say anything about any other controls, which is what I experienced.&lt;/p&gt;&lt;p&gt;Alignment to "Top" if altering the Appearance on the TabControl to Buttons or FlatButtons.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-7721888539147585987?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/7721888539147585987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/tabcontrol-and-appearance-property.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7721888539147585987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/7721888539147585987'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/tabcontrol-and-appearance-property.html' title='TabControl and the Appearance property'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-6696253022968414038</id><published>2009-06-24T15:49:00.002-04:00</published><updated>2009-06-26T09:39:38.610-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WinForms'/><category scheme='http://www.blogger.com/atom/ns#' term='Find'/><category scheme='http://www.blogger.com/atom/ns#' term='Controls'/><title type='text'>Finding a control within a control</title><content type='html'>&lt;span style="font-family:Arial;font-size:85%;"&gt;I have a case where I need to get a particular control out of a container of controls.  I don't know the name of the control, although I am prefixing it with a specific pattern, because I'm adding the control dynamically, and there could be any number of these controls.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I found Control.ControlCollection.Find, but the Help for it (&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection.find.aspx"&gt;http://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection.find.aspx&lt;/a&gt;) did not give any examples using a wildcard matching.  Yes, I could iterate through all controls, but that seems inefficient.  Yes, I could use LINQ, but this project has the limitation of being required to be .NET 2.0, not .NET 3.5.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;So, time for the sandbox.  Simple test:  I create a form, with a groupbox (groupBox1) and put three controls in it.  One Button control named "button1" and two CheckBox controls named "checkBox1" and "checkBox2".  Then ran this code:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;Control&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;"&gt;[] ctl = groupBox1.Controls.Find(&lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"checkBox*"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;Control&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[] ctl1 = groupBox1.Controls.Find(&lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"checkBox1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;Control&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[] ctl2 = groupBox1.Controls.Find(&lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"checkBox2"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Arial;"&gt;ctl had no elements, while ctl1 and ctl2 both had one element (due to the exact match).  I also tried changing "checkBox*" to just "checkBox" with the same result.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Well, this was rather annoying.  After all, what's the point of returning an array, if the best you're going to do is return one item? &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Then, on an whim I tried the following code:&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;"&gt;.checkBox1.Name = &lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"test"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.checkBox2.Name = &lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"test"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Courier New;"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;&lt;span style="font-size:85%;color:#2b91af;"&gt;Control&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[] ctl = groupBox1.Controls.Find(&lt;/span&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;&lt;span style="font-size:85%;color:#a31515;"&gt;"test"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;, &lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;And good news!  I got two items back!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;So the trick in my case was when I go to generate my dynamic control, I always set the "Name" property the same.  Then Controls.Find will find all matches, since you cannot wildcard it.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-6696253022968414038?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/6696253022968414038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/finding-control-within-control.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6696253022968414038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/6696253022968414038'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/finding-control-within-control.html' title='Finding a control within a control'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-655883903383373842</id><published>2009-06-24T08:06:00.002-04:00</published><updated>2009-06-24T08:09:27.571-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Build'/><title type='text'>ClickOnce and Team Systems Summary</title><content type='html'>Had a new, simple ClickOnce App to add to Team Systems, so I'd thought it a good time to summarize what I've learned from previous posts.&lt;br /&gt;&lt;br /&gt;1. Log into the build machine as the tfsbuild user.&lt;br /&gt;2. Open the solution from source control in Visual Studio and publish.  This sets up the ClickOnce publish key.  This step can be circumvented with the use of MAGE or MAGEUI, but who wants to go through all that when this works.&lt;br /&gt;3. Copy a Team Build project from a previous ClickOnce build project (or use some kind of template, or something).&lt;br /&gt;    - Set up your landing page&lt;br /&gt;    - If the ClickOnce project references a separate project within the solution, be sure to define both the SolutionToBuild and SolutionToPublish tags.  (Otherwise, just the SolutionToPublish is needed).&lt;br /&gt;    - Define the Application Title, Support URL, Company, ClickOnceURL, and any other application and deployment-specific properties.&lt;br /&gt;    - Modify App.config settings in the AfterGet target override.  Also, obtain Version definition in the AfterGet.&lt;br /&gt;    - In the AfterDropBuild target override, copy all files from the drop folder to the deployment folder(s).&lt;br /&gt;&lt;br /&gt;This pretty much summarizes what works for me.&lt;br /&gt;&lt;br /&gt;I promised to go through each tag to explain everything.  I did stumple onto &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd458792.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd458792.aspx&lt;/a&gt; today, which appears to be a terrific tutorial.  I wish I had found it a few weeks (or even months) ago.  Because of how good this link is, I'm going to supply only the Cliff Notes version.&lt;br /&gt;&lt;br /&gt;In detail, the meaning of each tag in a Team Systems Build project:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;Project&lt;/span&gt;&lt;br /&gt;Defines the project.&lt;br /&gt;  Attributes:&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;DefaultTargets&lt;/span&gt;    - Ignored by Team Systems 2008.  This is only used by MSBuild if run directly.  Team Systems Build always uses only EndToEndIteration.  This attribute defines which target MSBuild should use as its main entry point.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;Import&lt;/span&gt;&lt;br /&gt;Specifies include projects files, which are used to define extension tasks.&lt;br /&gt;    Attributes:&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;Project&lt;/span&gt; - Defines the project file to import.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;RunCodeAnalysis&lt;/span&gt;&lt;br /&gt;Defines whether or not the build will run Code Analysis.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;RunTest&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;MetaDataFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;TestList&lt;/span&gt;&lt;br /&gt;Enables/disables the running of tests.  Personally, I think this is a great feature to have, but unfortunately, it's often quite difficult to put together adequate tests in a system that integrates with user interaction and separate systems, such as the OpenVMS systems my shop uses.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;Message&lt;/span&gt;&lt;br /&gt;    Adds a message to the build log&lt;br /&gt;  Attributes:&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;Text &lt;/span&gt;- the message.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;ItemGroup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;PropertyGroup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;SolutionToBuild&lt;/span&gt;&lt;br /&gt;    Defines the solution file that should be compiled.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;SolutionToPublish&lt;/span&gt;&lt;br /&gt;    Defines the solution file that is to be published.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;ConfigurationToBuild&lt;/span&gt;&lt;br /&gt;    Defines whether the soution should be built for Debug or Release and for what kind of CPU.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;Target&lt;/span&gt;&lt;br /&gt;    Overridable point that MSBuild runs.&lt;br /&gt;    Attributes:&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;  - the name of the target.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;UsingTask&lt;/span&gt;&lt;br /&gt;    Defines a custom task.&lt;br /&gt;    Attributes:&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;Assembly File&lt;/span&gt; - Defines the dll that includes the custom task.&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;TaskName&lt;/span&gt; - Defines the task name, which must be qualified with the full namespace.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;&lt;em&gt;Custom tag&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;    Any custom task defined in a DLL that is specified in a &amp;lt;UsingTask tag.  I'll go into detail in a future post as to how to create your own custom tasks.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;Copy&lt;/span&gt;&lt;br /&gt;    Task to copy file(s)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;CreateProperty&lt;/span&gt;&lt;br /&gt;    Creates a property&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&amp;lt;CreateItem&lt;/span&gt;&lt;br /&gt;    Creates an ItemList.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd150090.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd150090.aspx&lt;/a&gt; is a good article on Team Build 2008.  If you haven't already figured it out, I'm using Team Build 2008.&lt;br /&gt;&lt;br /&gt;This pretty much covers all I care about. &lt;br /&gt;&lt;br /&gt;TODO: detail about custom tasks. &lt;br /&gt;TODO: supply nice template Build Projects--One for a ClickOnce application, and one for a web application.  I've still got a bit of refining on my current project file in that my task to copy the files from the drop folder to the web cluster for final deployment copies too much and clutters things up (it doesn't really hurt anything, but it's really not right).  So I've got to take a little to configure an "Exclude" attribute correctly.  Once I've got that done, I should be able to set up a template file.&lt;br /&gt;&lt;br /&gt;Russ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-655883903383373842?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/655883903383373842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-and-team-systems-summary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/655883903383373842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/655883903383373842'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-and-team-systems-summary.html' title='ClickOnce and Team Systems Summary'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3767794182872549131</id><published>2009-06-23T10:26:00.004-04:00</published><updated>2009-06-23T10:48:32.601-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='Versioning'/><title type='text'>ClickOnce, Team Systems, and Versioning</title><content type='html'>&lt;span style="font-family:Arial;font-size:85%;"&gt;You'd think everyone has only one deployment. In my last post, I covered how to set up a Team Build Type for a ClickOnce Application in Team Systems that allows you to modify the app.config file for multiple deployments. However, I had set up the versioning so that Major, minor, and build were stored in the Build Type project file, and the revision came out of the changeset.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Unfortunately, what I discovered was that I'd have to modify the project files for all deployements when the version for Major, minor, or build changed. Since I already had 20 deployments, with the number expected to reach nearly 100, this was unacceptable. I needed a way to store version information in a single file accessible from the build.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;The best solution for me is to store it in the AssemblyInfo.cs file of the ClickOnce project. This data is easily modifiable from Visual Studio in the Project's properties, plus ensured the ClickOnce manifest version matched the assembly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Again Googling, everything was backward. Plenty of links on how to set up a dynamic AssemblyInfo.cs file, or to store version data in a modifyable file as part of the project--no, no, no! This is not what I want! When I run 20 builds, I want all 20 to have the same version number, without having to modify 20 files to do so. Generating the AssemblyInfo.cs file was completely backward and would not ensure consistent version numbers. Using a shared version file was the next best thing, but I'd have to remember to modify it manually. I couldn't have the build change it as there would be a different build number for each of the 20 deployments.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Storing it in the AssemblyInfo.cs file was best as I could easily remember to always manually modify it. It would be even better if I could somehow replace the revision with the changeset number (which the project file already gets anyhow), but I can live without it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;--I can't believe how painful it is to find the information you need--&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I thought of XmlRead from MSBuild.Community.Tasks (from &lt;a href="http://msbuildtasks.tigris.org/"&gt;http://msbuildtasks.tigris.org/&lt;/a&gt;), but AssemblyInfo.cs is in C#, not in XML. There was also a RegexMatch task that could be a possibility, but working with Regex is always nasty. Kind of makes me feel like I'm programming in &lt;a href="http://en.wikipedia.org/wiki/Malbolge"&gt;Malbolge&lt;/a&gt; whenever I see it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Okay, a RegEx tester I had came up with this pattern for extracting Major, minor, and build from AssemblyInfo.cs:(\[assembly\: AssemblyVersion\(.[0-9]\.[0-9]\.[0-9])?[0-9]\.[0-9]\.[0-9]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Unfortunately, after much painful work and finally looking at the source code from msbuildtasks.tigris.org, I discovered that the RegexMatch didn't return the capture match from the Regex expression, but the entire line that the Regex expression found a match on. Useless!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;So I finally gave in and created my own custom task--which apparently I should have done in the first place and saved myself the headache of trusting others.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I won't go into the code for the custom task--I'll save something like that for another post. But basically it returned all captures found on a string with a Regex expression.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;I used the ReadLinesFromFile task from the Microsoft.Sdc.Tasks to import the AssemblyInfo.cs file into an ItemGroup, which I converted to a PropertyGroup with a CreateProperty task, then passed this property to my custom task.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;So, I had the following added:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;ReadLinesFromFile&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;File&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;"&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;$(ConfigDir)/Properties/AssemblyInfo.cs&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;Output&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="olor:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;TaskParameter&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;Lines&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;ItemName&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;ItemsFromFile&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;ReadLinesFromFile&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#008000;"&gt;&amp;lt;!-- custom task below --&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;RegexCapture&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;Input&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;"@&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;(ItemsFromFile)&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;Expression&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;="&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;(\[assembly\: AssemblyVersion\(.[0-9]\.[0-9]\.[0-9])?[0-9]\.[0-9]\.[0-9]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;Output&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;ItemName&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; =&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;VersionData&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#ff0000;"&gt;TaskParameter&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;Output&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt; /&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;&lt;span style="color:#a31515;"&gt;RegexCapture&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;span style="font-size:85%;color:#0000ff;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;After a painful mess dealing with the confusion difference between "@" and "$", I finally had success &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx"&gt;http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx&lt;/a&gt; is a good MSBuild reference. &lt;a href="http://msdn.microsoft.com/en-us/library/bb546106.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb546106.aspx&lt;/a&gt; shows the special characters reference. &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;I used CreateProperty to convert the ItemList from the RegexCapture to a property, then referred to this property on the Regex that modified the version on the Landing Page, and on the ApplicationVersion of the MSBuild.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The revision was already in the project, using TfsVersion from MSBuild.Community Tasks from &lt;a href="http://msbuildtasks.tigris.org/"&gt;http://msbuildtasks.tigris.org/&lt;/a&gt;. I just concatenated this on the version information I grabbed from the AssemblyInfo file, thus ensuring each build would use an incrementing revision.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span&gt;My next post: put this and my previous post together in one simplifed post, with details of what everything means.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3767794182872549131?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3767794182872549131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-team-systems-and-versioning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3767794182872549131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3767794182872549131'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-team-systems-and-versioning.html' title='ClickOnce, Team Systems, and Versioning'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-3155407365814655643</id><published>2009-06-19T10:38:00.007-04:00</published><updated>2009-07-15T09:31:47.114-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ClickOnce'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='app.config'/><title type='text'>ClickOnce and Team Systems Build</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;I'm going nuts on this one. I basically just need to build a ClickOnce application, but I need to modify the .config file as I actually need about 100 different deployments of the same application where the only variation is one setting in the .config file. The different deployments are needed for other reasons as well--which I'm not going to go into.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;I've got it all working by overriding the AfterCompile target, but I'm not having success with the .config file modification. I can modify it fine, but it occurs at the wrong time or with the wrong file--the compile picks it up and creates the config.deploy without the modification. I found out the hard way that you can't modify a config.deploy file. If you do, you muck up the hash value that is stored in the manifest--the file's hash won't match the manifest's hash, and the application will refuse to install.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I Googled for help, and it seems everyone has advice, but none if it was very useful. Most of it was just restating &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I found this one: &lt;a href="http://coolthingoftheday.blogspot.com/2006/04/mageui-can-be-your-clickonce-stage-to.html"&gt;http://coolthingoftheday.blogspot.com/2006/04/mageui-can-be-your-clickonce-stage-to.html&lt;/a&gt;, but it was pretty useless--just told me about Mage, but no info on how to use it. &lt;a href="http://blog.gatosoft.com/PermaLink,guid,d0a0dd1e-c9ac-4fa9-a408-615454d49702.aspx"&gt;http://blog.gatosoft.com/PermaLink,guid,d0a0dd1e-c9ac-4fa9-a408-615454d49702.aspx&lt;/a&gt; provided a great sample, but it was designed to run MSbuild only from the command line, not from Team Systems, and the sample Deploy.proj has absolutely no comments to explain the meaning of various settings. It was useless of it to have a "GetVersion" target in there if I didn't understand why it was there. (It looks like it's getting the version fom one of the assemblies and then modifying the ClickOnce Landing page with it--is this assumption correct? or is there more? or am I just completely lost?)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I had also found &lt;a href="http://www.codeproject.com/KB/install/QuickClickOnceArticle.aspx"&gt;http://www.codeproject.com/KB/install/QuickClickOnceArticle.aspx&lt;/a&gt;, but this was absolutely useless--I had already figured out all it's info just playing around with Visual Studio. That page is for newbies only.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;a href="http://blogs.msdn.com/echarran/archive/2006/08/09/693284.aspx"&gt;http://blogs.msdn.com/echarran/archive/2006/08/09/693284.aspx&lt;/a&gt; seened to have some good clues which might have proved useful, but part of blog with the code got wacked due to the formatting of the website. Cut-and-paste did grab all of the code, at least. Then I compared it to the gatosoft.com link and saw all it was doing was giving another GenerateDeploymentManifest target override. Well, maybe it's something.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/maordavid/archive/2008/09/12/team-build-and-clickonce.aspx"&gt;http://blogs.microsoft.co.il/blogs/maordavid/archive/2008/09/12/team-build-and-clickonce.aspx&lt;/a&gt; was useless--It pointed to someone else's blog that apparently is no longer on the Internet and showed just overriding the AfterCompile target. Yeah, okay--I alread knew that. Now get off of Google.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I didn't need to deal with the signing--I got that to work by cheating--just build the project on the build server using the tfsbuild user in Visual Studio. Once done one time, it never needs done again, and it's a lot easier than trying to figure out how to do it in Mage, or whatever.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;Most of my problem is that I don't yet have a good handle on the meaning of the XML tags that are used in an MSBuild project. I don't want to waste my time in some class, and I can't find a nice website that just displays the cliff notes version. Microsoft's MSDN site goes into way too much detail to make sense of it quickly, and it isn't organized to give you a good summary of how to use it. All I want to know is how to get this up and running ASAP the way I need it to. I don't need to know all the excruciation of how to override labels.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I first started with the default .proj file that Team Systems creates when you create a new build. I tried taking pieces from that sample above, but none if it seems to execute at all. The default .proj file includes an AfterCompile target, which is completely missing from the above sample--so this led me down some wild goose chases trying to figure this out.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I finally got it down to the ClickOnce Landing page being modified and deployed correctly (default.htm), and all the code being correctly deployed--except the .config file still wasn't right. So, off to MSDN to find all the targets I can override--I need to override a target that occurs before the CoreCompile, but after all the sources are retrieved from source control. It also took me awhile to figure out that I needed a &amp;lt;SolutionToPublish&amp;gt; tag under an &amp;lt;ItemGroup&amp;gt; to get MSBuild to publish my solution. &amp;lt;SolutionToBuild&amp;gt; is for building only, which is useful for websites and non-clickonce applications (although I imagine &amp;lt;SolutionToPublish&amp;gt; will probably work for websites--my shop just always copies everything from the drop folder out to the website--well, my shop does it this way thanks to an overpriced consulting firm that claimed to know something and set us up that way--but that's another story).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa337604(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa337604(VS.80).aspx&lt;/a&gt; demonstrated that AfterGet occurs exactly where I need it to, so I tried mucking with that. &lt;/span&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;I love the &amp;lt;Message&amp;gt; tag in these projects. I always add something like "~~" to the text so that I know it's my message and so that I can find it (as opposed to a message from MSBuild). These messages help me to know what's working and what's not.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;First I have to deal with figuring out where the app.config file is locally. I'm using Xml.ModifyFile's XPath to modify my setting. This is pretty straight-foward and I might post info about it some other time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;First runthrough using AfterGet is simple: Message saying we're modifying App.config, then Xml.ModifyFile the app.config. Gotta do the source check-in dance and queue a new build, but fortunately the build only takes about 30 seconds. FAIL--app.config file not found. Okay, I had just specified "app.config" with no path--let me try to figure out where the Get drops all the sources--I just need to use $(SolutionRoot) as my base, then add the subfolders down to the project with the app.config. Now, remember to check out the .proj file before saving my changes, save my changes, check it back in, queue the build and wait 30 seconds--FAIL.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;This time is some kind of compiler error: &lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;p&gt;CSC(0,0): error CS0006: Metadata file 'C:\Documents and Settings\tfsbuild\Local Settings\Temp\xxx.dll' could not be found &lt;/p&gt;&lt;p&gt;(xxx is the name of one of the referenced dlls).&lt;/p&gt;&lt;p&gt;Time to Google. Found &lt;a href="http://msdn.microsoft.com/en-us/library/a92dycyz(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/a92dycyz(VS.80).aspx&lt;/a&gt;. It says that the dll was not found. Oh, cute. This particular dll should have been compiled with this project. Even worse, the particular project that was failing was one I didn't even care if it didn't compile--it was a "sandbox" project--just something I set up to interactively test some of the custom controls. I have several possible solutions: 1. work my tail off trying to figure out how to overcome this goofy error, 2. work my tail off trying to figure out how to suppress the compile of this sandbox project, or 3. delete the project from source control. Being the lazy man I am, I opted for #3. I don't really need it anymore, anyhow. Zap! check-in, queue new build.&lt;/p&gt;&lt;p&gt;FAIL. Same compiler error, but this time with my critical ClickOnce project. The dll is project that is part of my solution, and this ClickOnce application references it--so why am I having a problem? I did check the app.config (based on the BuildLog.txt messages) and it is getting modified. It doesn't help tha this log file is over 1000 lines long.&lt;/p&gt;&lt;p&gt;Options: 1. Figure out why my ClickOnce project is not finding the DLL from another project in the same solution, or 2. Compile this project in Visual Studio and put the DLL on the ClickOnce project and reference it there. #2 is the lazy man's way of doing it, but only if the dll isn't going to change much. Unfortunately, most of the development is going on in this DLL (it's all the custom controls for the UI), so it's worth my effort to at least make a stab at option 1.&lt;/p&gt;&lt;p&gt;The log shows the dll getting built without error. The message "&lt;span style="font-size:100%;"&gt;Skipping unpublishable project" is drawing my attention, but I'm moving on. Immediately after I see that it is building my ClickOnce application. The log shows "Project reference" and states the project for the dll. However, I see "Task 'MSBuild' skipped, due to false condition;" referencing the dll project, with a lot of convoluted logic explaining the false condition: @(NonVCProjectReference) !='' (evaluated to 'my dll project file' != '', a false condition) , but also it bypassed because it wasn't building inside VS. Entry is a wild-goose. moving on...I see "&lt;span style="font-size:100%;"&gt;Done building target "ResolveProjectReferences" in project" with reference to my ClickOnce project. Promising--according to this the ClickOnce app should compile. Nothing to explain why the dll can't be found. The ugly thing is: it worked before I mucked with the app.config file. But mucking with the app.config file should have nothing to do with not being able to find the dll. Okay, let's get cute--I had removed the &amp;lt;SolutionToBuild&amp;gt; tag. Let's add it back in and see what happens. Good thing no one is paying attention to the Team Systems "Work items' thing--I've probably got hundreds by now.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;Adding &amp;lt;SolutionToBuild&amp;gt; worked, and yeah! my config.deploy has the correct setting in it (intentionally different from what is in source control). Finally--for the install test. SUCCESS!!!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;em&gt;Okay to recap:&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;This is how to create a Build in Team Systems for a ClickOnce application that will modify a setting in the app.config file:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1. Log into the build machine as the tfsbuild user, open Visual Studio and publish the project. This handles the signing of the keys to the project. You only need to do this once for the project.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;2. Define both the &amp;lt;SolutionToBuild&amp;gt; and the &amp;lt;SolutionToPublish&amp;gt; tags.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;3. Define the "AfterGet" target override. You can use Xml.ModifyFile from Microsoft.Sdc.Tasks.dll, which comes from &lt;a href="http://www.codeplex.com/sdctasks"&gt;http://www.codeplex.com/sdctasks&lt;/a&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:100%;"&gt;4. Define the "AfterCompile" target override--this is where all the work really occurs. Best example for defining the "MSBuild" tag is &lt;a href="http://blogs.microsoft.co.il/blogs/maordavid/archive/2008/09/12/team-build-and-clickonce.aspx"&gt;http://blogs.microsoft.co.il/blogs/maordavid/archive/2008/09/12/team-build-and-clickonce.aspx&lt;/a&gt;, even though I stated it was rather useless. It does over-list parameters to use. I found that most of the values under the "Properties" attribute to be unnecessary, but at least it lists them, which could prove useful. I've included my working Team systems build project below, although I've obfusicated it. I left most of my variables in there to save myself work, though. Also, Note that I use the "Version" target override to adjust the ClickOnce version automatically, based on the change set. The "GetVersion" target is left in there from stuff I copied, and I don't really know if it does anything.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Finally, note that I don't use MAGE or MAGEUI!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Sample TFSBuild.Proj file:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;!-- DO NOT EDIT the project element - the ToolsVersion specified here does not prevent the solutions&lt;br /&gt;and projects in the SolutionToBuild item group from targeting other versions of the .NET framework.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;Project DefaultTargets="Deploy" xmlns="&lt;a href="http://schemas.microsoft.com/developer/msbuild/2003"&gt;http://schemas.microsoft.com/developer/msbuild/2003&lt;/a&gt;" ToolsVersion="3.5"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Do not edit this --&amp;gt;&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" /&amp;gt;&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Do i need this?&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" /&amp;gt;&lt;br /&gt;&amp;lt;Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;UsingTask AssemblyFile="Microsoft.Sdc.Tasks.dll" TaskName="Microsoft.Sdc.Tasks.Xml.ModifyFile"/&amp;gt;&lt;br /&gt;&amp;lt;UsingTask AssemblyFile="Microsoft.Sdc.Tasks.dll" TaskName="Microsoft.Sdc.Tasks.File.Replace"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ProjectExtensions&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Team Foundation Build Version - DO NOT CHANGE --&amp;gt;&lt;br /&gt;&amp;lt;ProjectFileVersion&amp;gt;2&amp;lt;/ProjectFileVersion&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- DESCRIPTION&lt;br /&gt;This property is included only for backwards compatibility. The description of a build definition&lt;br /&gt;is now stored in the database. For compatibility with V1 clients, keep this property in sync with&lt;br /&gt;the value in the database.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;Description&amp;gt;&amp;lt;/Description&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- BUILD MACHINE&lt;br /&gt;This property is included only for backwards compatibility. The default machine used for a build&lt;br /&gt;definition is now stored in the database, as the MachineName property of the definition's&lt;br /&gt;DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value&lt;br /&gt;in the database.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;BuildMachine&amp;gt;UNKNOWN&amp;lt;/BuildMachine&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/ProjectExtensions&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;PropertyGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- TEAM PROJECT&lt;br /&gt;This property is included only for backwards compatibility. The team project for a build&lt;br /&gt;definition is now stored in the database. For compatibility with V1 clients, keep this property in&lt;br /&gt;sync with the value in the database.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;TeamProject&amp;gt;put your Team Systems Project name here&amp;lt;/TeamProject&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- BUILD DIRECTORY&lt;br /&gt;This property is included only for backwards compatibility. The build directory used for a build&lt;br /&gt;definition is now stored in the database, as the BuildDirectory property of the definition's&lt;br /&gt;DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value&lt;br /&gt;in the database.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;BuildDirectoryPath&amp;gt;UNKNOWN&amp;lt;/BuildDirectoryPath&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- DROP LOCATION&lt;br /&gt;This property is included only for backwards compatibility. The drop location used for a build&lt;br /&gt;definition is now stored in the database. For compatibility with V1 clients, keep this property&lt;br /&gt;in sync with the value in the database.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;DropLocation&amp;gt;\\UNKNOWN\drops&amp;lt;/DropLocation&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- TESTING&lt;br /&gt;Set this flag to enable/disable running tests as a post-compilation build step.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;RunTest&amp;gt;false&amp;lt;/RunTest&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- CODE ANALYSIS&lt;br /&gt;Set this property to enable/disable running code analysis. Valid values for this property are&lt;br /&gt;Default, Always and Never.&lt;br /&gt;&lt;br /&gt;Default - Perform code analysis as per the individual project settings&lt;br /&gt;Always - Always perform code analysis irrespective of project settings&lt;br /&gt;Never - Never perform code analysis irrespective of project settings&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;RunCodeAnalysis&amp;gt;Default&amp;lt;/RunCodeAnalysis&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Additional Properties --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- WorkItemType&lt;br /&gt;The type of the work item created on a build failure.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;WorkItemType&amp;gt;Bug&amp;lt;/WorkItemType&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- WorkItemFieldValues&lt;br /&gt;Fields and values of the work item created on a build failure.&lt;br /&gt;&lt;br /&gt;Note: Use reference names for fields if you want the build to be resistant to field name&lt;br /&gt;changes. Reference names are language independent while friendly names are changed depending&lt;br /&gt;on the installed language. For example, "System.Reason" is the reference name for the "Reason"&lt;br /&gt;field.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;WorkItemFieldValues&amp;gt;System.Reason=Build Failure;System.Description=Start the build using Team Build&amp;lt;/WorkItemFieldValues&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- WorkItemTitle&lt;br /&gt;Title of the work item created on build failure.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;WorkItemTitle&amp;gt;Build failure in build:&amp;lt;/WorkItemTitle&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- DescriptionText&lt;br /&gt;History comment of the work item created on a build failure.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;DescriptionText&amp;gt;This work item was created by Team Build on a build failure.&amp;lt;/DescriptionText&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- BuildLogText&lt;br /&gt;Additional comment text for the work item created on a build failure.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;BuildlogText&amp;gt;The build log file is at:&amp;lt;/BuildlogText&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- ErrorWarningLogText&lt;br /&gt;Additional comment text for the work item created on a build failure.&lt;br /&gt;This text will only be added if there were errors or warnings.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;ErrorWarningLogText&amp;gt;The errors/warnings log file is at:&amp;lt;/ErrorWarningLogText&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- UpdateAssociatedWorkItems&lt;br /&gt;Set this flag to enable/disable updating associated workitems on a successful build.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;UpdateAssociatedWorkItems&amp;gt;true&amp;lt;/UpdateAssociatedWorkItems&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- AdditionalVCOverrides&lt;br /&gt;Additional text for the VCOverrides file generated for VC++ projects.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;AdditionalVCOverrides&amp;gt;&amp;lt;/AdditionalVCOverrides&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- CustomPropertiesForClean&lt;br /&gt;Custom properties to pass to the MSBuild task while calling the "Clean" target for all solutions.&lt;br /&gt;The format should be: PropertyName1=value1;PropertyName2=value2;...&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;CustomPropertiesForClean&amp;gt;&amp;lt;/CustomPropertiesForClean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- CustomPropertiesForBuild&lt;br /&gt;Custom properties to pass to the MSBuild task while calling the default targets for all solutions.&lt;br /&gt;The format should be: Property1=value1;Property2=value2;... To pass custom properties to&lt;br /&gt;individual solutions, use the Properties metadata item of the SolutionToBuild ItemGroup.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;CustomPropertiesForBuild&amp;gt;&amp;lt;/CustomPropertiesForBuild&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;!-- SOLUTIONS&lt;br /&gt;The paths of the solutions to build. Paths can be server paths or local paths, but server paths&lt;br /&gt;relative to the location of this file are highly recommended. To add/delete solutions, edit this&lt;br /&gt;ItemGroup. For example, to add a solution MySolution.sln, add the following line:&lt;br /&gt;&lt;br /&gt;&amp;lt;SolutionToBuild Include="$(BuildProjectFolderPath)/path/MySolution.sln" /&amp;gt;&lt;br /&gt;&lt;br /&gt;To change the order in which the solutions are built, modify the order in which the solutions&lt;br /&gt;appear below.&lt;br /&gt;&lt;br /&gt;To call a target (or targets) other than the default, add a metadata item named Targets. To pass&lt;br /&gt;custom properties to the solution, add a metadata item named Properties. For example, to call&lt;br /&gt;the targets MyCustomTarget1 and MyCustomTarget2, passing in properties Property1 and Property2,&lt;br /&gt;add the following:&lt;br /&gt;&lt;br /&gt;&amp;lt;SolutionToBuild Include="$(BuildProjectFolderPath)/path/MySolution.sln"&amp;gt;&lt;br /&gt;&amp;lt;Targets&amp;gt;MyCustomTarget1;MyCustomTarget2&amp;lt;/Targets&amp;gt;&lt;br /&gt;&amp;lt;Properties&amp;gt;Property1=Value1;Property2=Value2&amp;lt;/Properties&amp;gt;&lt;br /&gt;&amp;lt;/SolutionToBuild&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;SolutionToBuild Include="$(BuildProjectFolderPath)/path/MySolution.sln"&amp;gt;&lt;br /&gt;&amp;lt;Targets&amp;gt;&amp;lt;/Targets&amp;gt;&lt;br /&gt;&amp;lt;Properties&amp;gt;&amp;lt;/Properties&amp;gt;&lt;br /&gt;&amp;lt;/SolutionToBuild&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;SolutionToPublish Include="$(SolutionToBuild)" /&amp;gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;!-- CONFIGURATIONS&lt;br /&gt;The list of configurations to build. To add/delete configurations, edit this value. For example,&lt;br /&gt;to add a new configuration, add the following lines:&lt;br /&gt;&lt;br /&gt;&amp;lt;ConfigurationToBuild Include="Debugx86"&amp;gt;&lt;br /&gt;&amp;lt;FlavorToBuild&amp;gt;Debug&amp;lt;/FlavorToBuild&amp;gt;&lt;br /&gt;&amp;lt;PlatformToBuild&amp;gt;x86&amp;lt;/PlatformToBuild&amp;gt;&lt;br /&gt;&amp;lt;/ConfigurationToBuild&amp;gt;&lt;br /&gt;&lt;br /&gt;The Include attribute value should be unique for each ConfigurationToBuild node.&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;ConfigurationToBuild Include="ReleaseAny CPU"&amp;gt;&lt;br /&gt;&amp;lt;FlavorToBuild&amp;gt;Release&amp;lt;/FlavorToBuild&amp;gt;&lt;br /&gt;&amp;lt;PlatformToBuild&amp;gt;Any CPU&amp;lt;/PlatformToBuild&amp;gt;&lt;br /&gt;&amp;lt;/ConfigurationToBuild&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;!-- TEST ARGUMENTS&lt;br /&gt;If the RunTest property is set to true then the following test arguments will be used to run&lt;br /&gt;tests. Tests can be run by specifying one or more test lists and/or one or more test containers.&lt;br /&gt;&lt;br /&gt;To run tests using test lists, add MetaDataFile items and associated TestLists here. Paths can&lt;br /&gt;be server paths or local paths, but server paths relative to the location of this file are highly&lt;br /&gt;recommended:&lt;br /&gt;&lt;br /&gt;&amp;lt;MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi"&amp;gt;&lt;br /&gt;&amp;lt;TestList&amp;gt;BVT1;BVT2&amp;lt;/TestList&amp;gt;&lt;br /&gt;&amp;lt;/MetaDataFile&amp;gt;&lt;br /&gt;&lt;br /&gt;To run tests using test containers, add TestContainer items here:&lt;br /&gt;&lt;br /&gt;&amp;lt;TestContainer Include="$(OutDir)\HelloWorldTests.dll" /&amp;gt;&lt;br /&gt;&amp;lt;TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" /&amp;gt;&lt;br /&gt;&amp;lt;TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" /&amp;gt;&lt;br /&gt;&lt;br /&gt;Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built&lt;br /&gt;--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;PropertyGroup&amp;gt;&lt;br /&gt;&amp;lt;Major&amp;gt;1&amp;lt;/Major&amp;gt;&lt;br /&gt;&amp;lt;Minor&amp;gt;1&amp;lt;/Minor&amp;gt;&lt;br /&gt;&amp;lt;Build&amp;gt;5&amp;lt;/Build&amp;gt;&lt;br /&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;br /&gt;&amp;lt;PropertyGroup&amp;gt;&lt;br /&gt;&amp;lt;!-- TEST ARGUMENTS&lt;br /&gt;If the RunTest property is set to true, then particular tests within a&lt;br /&gt;metadata file or test container may be specified here. This is&lt;br /&gt;equivalent to the /test switch on mstest.exe.&lt;br /&gt;&lt;br /&gt;&amp;lt;TestNames&amp;gt;BVT;HighPriority&amp;lt;/TestNames&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Environment&amp;gt;-DEV&amp;lt;/Environment&amp;gt;&lt;br /&gt;&amp;lt;AppDescription&amp;gt;Your application description&amp;lt;/AppDescription&amp;gt;&lt;br /&gt;&amp;lt;SourceDir&amp;gt;E:\SystemVMS\DevBuildDrop\Release&amp;lt;/SourceDir&amp;gt;&lt;br /&gt;&amp;lt;PublishDir&amp;gt;$(SourceDir)\Publish&amp;lt;/PublishDir&amp;gt;&lt;br /&gt;&amp;lt;SupportUrl&amp;gt;http://whatever.com&amp;lt;/SupportUrl&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- signing certificate below --&amp;gt;&lt;br /&gt;&amp;lt;SigningCert&amp;gt;ClickOnce_TemporaryKey.pfx&amp;lt;/SigningCert&amp;gt;&lt;br /&gt;&amp;lt;Company&amp;gt;My Company, Inc.&amp;lt;/Company&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;SettingsFile&amp;gt;E:\SystemVMS\DevBuildDrop\settings.xml&amp;lt;/SettingsFile&amp;gt;&lt;br /&gt;&amp;lt;SolutionName&amp;gt;MySolution&amp;lt;/SolutionName&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;AppConfigFile&amp;gt;app.config&amp;lt;/AppConfigFile&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;CustomSetting&amp;gt;My setting&amp;lt;/CustomSetting&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;PropertyGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--&amp;lt;ConfigDir&amp;gt;$(SolutionRoot)\..\Binaries\Release\&amp;lt;/ConfigDir&amp;gt;--&amp;gt;&lt;br /&gt;&amp;lt;ConfigDir&amp;gt;$(SolutionRoot)\$(SolutionName)$(Environment)\$(SolutionName)\&amp;lt;/ConfigDir&amp;gt;&lt;br /&gt;&amp;lt;LocalClickOnceVirtualRootDir&amp;gt;ClickOncePublishing&amp;lt;/LocalClickOnceVirtualRootDir&amp;gt;&lt;br /&gt;&amp;lt;RemoteClickOnceVirtualRootDir&amp;gt;\\whatever\e$\Services\$(SolutionName)2\&amp;lt;/RemoteClickOnceVirtualRootDir&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceUrl&amp;gt;http://whatever.com/$(SolutionName)/default.htm&amp;lt;/ClickOnceUrl&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceApplicationUrl&amp;gt;$(ClickOnceUrl)$(SolutionName).application&amp;lt;/ClickOnceApplicationUrl&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ImageDirectory&amp;gt;$(SolutionRoot)\$(SolutionName)$(Environment)\Referenced Binaries&amp;lt;/ImageDirectory&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;ClickOnceAppTitle&amp;gt;My ClickOnce Application&amp;lt;/ClickOnceAppTitle&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;CurrentProdBuildFile&amp;gt;E:\SystemVMS\DevBuildDrop\settings.xml&amp;lt;/CurrentProdBuildFile&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/PropertyGroup&amp;gt;&lt;br /&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;!-- ADDITIONAL REFERENCE PATH&lt;br /&gt;The list of additional reference paths to use while resolving references. For example:&lt;br /&gt;&lt;br /&gt;&amp;lt;AdditionalReferencePath Include="C:\MyFolder\" /&amp;gt;&lt;br /&gt;&amp;lt;AdditionalReferencePath Include="C:\MyFolder2\" /&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;ItemGroup&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceInstallationFiles Include="$(SolutionName).application"/&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceInstallationFiles Include="$(SolutionName).exe.manifest"/&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceInstallationFiles Include="setup.exe"/&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceInstallationFiles Include="default.htm"/&amp;gt;&lt;br /&gt;&amp;lt;ClickOnceLandingPage Include="$(SolutionRoot)\$(SolutionName)$(Environment)\Referenced Binaries\ClickOnceLandingPage.htm"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Target Name="Version"&amp;gt;&lt;br /&gt;&amp;lt;TfsVersion LocalPath="$(SolutionRoot)"&amp;gt;&lt;br /&gt;&amp;lt;Output TaskParameter="Changeset" PropertyName="Revision"/&amp;gt;&lt;br /&gt;&amp;lt;/TfsVersion&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Target Name="GetVersion"&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ Getting version info..."/&amp;gt;&lt;br /&gt;&amp;lt;GetAssemblyIdentity AssemblyFiles="@(GetVersionAssembly)"&amp;gt;&lt;br /&gt;&amp;lt;Output TaskParameter="Assemblies"&lt;br /&gt;ItemName="GetVersionAssemblyInfo"/&amp;gt;&lt;br /&gt;&amp;lt;/GetAssemblyIdentity&amp;gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Target Name="AfterGet"&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ Doing After Get"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Edit Config File here.--&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ Modifying Config file for MyUserSetting: AppConfigFile=$(ConfigDir)$(AppConfigFile)"/&amp;gt;&lt;br /&gt;&amp;lt;ModifyFile&lt;br /&gt;Path="$(ConfigDir)$(AppConfigFile)"&lt;br /&gt;XPath="/configuration/userSettings/$(SolutionName).Properties.Settings/setting[@name='MyUserSetting']/value"&lt;br /&gt;NewValue="$(CustomSetting)"&lt;br /&gt;Force="true" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;br /&gt;&amp;lt;Target Name="AfterCompile" DependsOnTargets="Version"&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ BuildProjectFolderPath=$(BuildProjectFolderPath)"/&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ SolutionRoot=$(SolutionRoot)"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ copying @(ClickOnceLandingPage) to $(RemoteClickOnceVirtualRootDir)\default.htm"/&amp;gt;&lt;br /&gt;&amp;lt;Copy SourceFiles="@(ClickOnceLandingPage)"&lt;br /&gt;DestinationFiles="$(RemoteClickOnceVirtualRootDir)\default.htm"/&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ Modifying landing page for app name, title, and version"/&amp;gt;&lt;br /&gt;&amp;lt;!-- TODO: change to use File.RegEx --&amp;gt;&lt;br /&gt;&amp;lt;ModifyFile&lt;br /&gt;Path="$(RemoteClickOnceVirtualRootDir)\default.htm"&lt;br /&gt;RegularExpression="#APPLICATION_NAME#"&lt;br /&gt;NewValue="$(SolutionName)"&lt;br /&gt;Force="true"/&amp;gt;&lt;br /&gt;&amp;lt;ModifyFile&lt;br /&gt;Path="$(RemoteClickOnceVirtualRootDir)\default.htm"&lt;br /&gt;RegularExpression="#TITLE#"&lt;br /&gt;NewValue="$(ClickOnceAppTitle)"&lt;br /&gt;Force="true"/&amp;gt;&lt;br /&gt;&amp;lt;ModifyFile&lt;br /&gt;Path="$(RemoteClickOnceVirtualRootDir)\default.htm"&lt;br /&gt;RegularExpression="#VERSION#"&lt;br /&gt;NewValue="$(Major).$(Minor).$(Build).$(Revision)"&lt;br /&gt;Force="true"/&amp;gt;&lt;br /&gt;&amp;lt;Message Text=" ~~~ Building"/&amp;gt;&lt;br /&gt;&amp;lt;MSBuild&lt;br /&gt;Projects="$(SolutionRoot)/$(SolutionName)$(Environment)/$(SolutionName)/$(SolutionName).csproj"&lt;br /&gt;Properties="Configuration=%(ConfigurationToBuild.FlavorToBuild);PublishDir=$(RemoteClickOnceVirtualRootDir);OutDir=$(RemoteClickOnceVirtualRootDir);ApplicationVersion=$(Major).$(Minor).$(Build).$(Revision);"&lt;br /&gt;Targets="Publish" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/Target&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/Project&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-3155407365814655643?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/3155407365814655643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-and-team-systems-build.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3155407365814655643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/3155407365814655643'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/clickonce-and-team-systems-build.html' title='ClickOnce and Team Systems Build'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3897708432458977477.post-4558180026435419238</id><published>2009-06-19T07:57:00.000-04:00</published><updated>2009-06-19T08:00:11.007-04:00</updated><title type='text'>Hello World</title><content type='html'>As a programmer, I've had it with searching for technical information, finding what looks like what I want, but having inadequate information.  So I spend the next week deciphering cryptic and undocumented code to tweak it to my needs.&lt;br /&gt;&lt;br /&gt;Okay, so I'm going to post what I learn here--mainly for my own purposes, but if someone else finds it useful, then great.&lt;br /&gt;&lt;br /&gt;Okay--Hello World.  I'm here now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3897708432458977477-4558180026435419238?l=russjudge.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://russjudge.blogspot.com/feeds/4558180026435419238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://russjudge.blogspot.com/2009/06/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4558180026435419238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3897708432458977477/posts/default/4558180026435419238'/><link rel='alternate' type='text/html' href='http://russjudge.blogspot.com/2009/06/hello-world.html' title='Hello World'/><author><name>Russ Judge</name><uri>http://www.blogger.com/profile/15943682727328487642</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_E7diZI4pj6A/SjuBMqJ_A8I/AAAAAAAAAAU/0ni3vzp_EYQ/S220/p_00108.jpg'/></author><thr:total>0</thr:total></entry></feed>
