<?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:blogger='http://schemas.google.com/blogger/2008' 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-3178603507919442231</id><updated>2024-09-05T13:09:28.490-07:00</updated><category term="General"/><category term="LargeEdit Scripting"/><category term="app engine"/><category term="cloud"/><category term=".net"/><category term="Automation"/><category term="android"/><category term="box2d"/><category term="cross platform"/><category term="dirty worms"/><category term="facebook"/><category term="geospatial"/><category term="playn"/><category term="C# Coding"/><category term="GCM"/><category term="Scripting"/><category term="accounts receivable"/><category term="assemblyVersionLabeller"/><category term="billing"/><category term="c#"/><category term="chrome"/><category term="cloud platform"/><category term="continuous integration"/><category term="continuous integration. cruise control"/><category term="cruise control"/><category term="data store"/><category term="game"/><category term="geomodel"/><category term="google app engine"/><category term="home care"/><category term="home care agency"/><category term="html5"/><category term="indexspec"/><category term="innosetup"/><category term="invoice"/><category term="invoicing"/><category term="ios"/><category term="java"/><category term="libgdx"/><category term="linq"/><category term="payroll"/><category term="physics"/><category term="play plus"/><category term="queries"/><category term="scoreddocument"/><category term="search"/><category term="secure data"/><category term="sqlmetal"/><category term="svn"/><category term="time sheets"/><category term="wpf"/><title type='text'>Tim O&#39;Brien</title><subtitle type='html'>Software Development &amp;amp; IT Consulting</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-2397075200354138079</id><published>2014-07-02T12:07:00.000-07:00</published><updated>2014-07-03T06:23:23.919-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="accounts receivable"/><category scheme="http://www.blogger.com/atom/ns#" term="billing"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="home care"/><category scheme="http://www.blogger.com/atom/ns#" term="home care agency"/><category scheme="http://www.blogger.com/atom/ns#" term="invoice"/><category scheme="http://www.blogger.com/atom/ns#" term="invoicing"/><category scheme="http://www.blogger.com/atom/ns#" term="payroll"/><category scheme="http://www.blogger.com/atom/ns#" term="secure data"/><category scheme="http://www.blogger.com/atom/ns#" term="time sheets"/><title type='text'>Home Care Payroll Management</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijNd8udQLkDzz5Mp_DifulN7hYvKCLhXIdZIjFDD3ZA-LizdNJfHapabXN8yyE0IS-OoG_4eP16FJmm5WR2QfXyg78v311viXnjG3uS-nxYEPHXB0RXC2mQ-6CPebXeJLxyhqBKqhsgib8/s1600/favicon-96.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijNd8udQLkDzz5Mp_DifulN7hYvKCLhXIdZIjFDD3ZA-LizdNJfHapabXN8yyE0IS-OoG_4eP16FJmm5WR2QfXyg78v311viXnjG3uS-nxYEPHXB0RXC2mQ-6CPebXeJLxyhqBKqhsgib8/s1600/favicon-96.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
As the population gets older, more and more people are requiring home care services. Government Health &amp;amp; Social Service departments in Canada often cover all or some of the cost associated with services provided.&lt;br /&gt;
&lt;br /&gt;
However, these Government departments are not the employers of home care workers and neither are the home care agencies. &amp;nbsp;The individual person requiring the service is often the employer. &amp;nbsp;This greatly complicates the processing of payroll, instead of having a couple of employers with many employees, you now have just as many employers as employees.&lt;br /&gt;
&lt;br /&gt;
Trying to manage a fluctuating mass of hundreds of employers and their current authorizations for invoicing third-parties can quickly become overwhelming, especially for traditional payroll systems.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Payroll Invoicing&lt;/b&gt; handles the entire process in a single, easy-to-user client application. &amp;nbsp;Setup as many employers &amp;amp; employees as you want, associate your employees with many different employers and your ready to start generating invoices. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Payroll Invoicing&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.payrollinvoicing.ca/&quot;&gt;www.payrollinvoicing.ca&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;g-profile&quot; href=&quot;https://plus.google.com/106216817698084183901&quot; target=&quot;_blank&quot;&gt;+Payroll Invoicing&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For more information contact:&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Tim O&#39;Brien&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;a href=&quot;mailto:timobrien@payrollinvoicing.ca&quot;&gt;timobrien@payrollinvoicing.ca&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTlx_l9Vgd_2wfEMhWcRdxI3C4GjZ-TSh8bdDqFy9Mq5gT_IbIw2TbfBQUNTpG8tzSuyiOr7WhzswxbaxAR76oZvMETyUur1U9aZBynlJtWdSwR9A5_c9QQOFlIcIGdGu0PkZwQLCrhpuC/s1600/book512.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTlx_l9Vgd_2wfEMhWcRdxI3C4GjZ-TSh8bdDqFy9Mq5gT_IbIw2TbfBQUNTpG8tzSuyiOr7WhzswxbaxAR76oZvMETyUur1U9aZBynlJtWdSwR9A5_c9QQOFlIcIGdGu0PkZwQLCrhpuC/s1600/book512.png&quot; height=&quot;200&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/2397075200354138079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/2397075200354138079'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2014/07/home-care-payroll-management.html' title='Home Care Payroll Management'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijNd8udQLkDzz5Mp_DifulN7hYvKCLhXIdZIjFDD3ZA-LizdNJfHapabXN8yyE0IS-OoG_4eP16FJmm5WR2QfXyg78v311viXnjG3uS-nxYEPHXB0RXC2mQ-6CPebXeJLxyhqBKqhsgib8/s72-c/favicon-96.png" height="72" width="72"/><georss:featurename>Newfoundland and Labrador, Canada</georss:featurename><georss:point>53.1355091 -57.66043639999998</georss:point><georss:box>33.5358646 -98.969029899999981 72.7351536 -16.35184289999998</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-4852763787547061000</id><published>2013-07-22T10:39:00.000-07:00</published><updated>2014-05-23T11:33:46.638-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="box2d"/><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud platform"/><category scheme="http://www.blogger.com/atom/ns#" term="cross platform"/><category scheme="http://www.blogger.com/atom/ns#" term="dirty worms"/><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="google app engine"/><category scheme="http://www.blogger.com/atom/ns#" term="play plus"/><category scheme="http://www.blogger.com/atom/ns#" term="playn"/><title type='text'>Cross Platform Game Development with PlayN - Architecture</title><content type='html'>Since PlayN is a cross-platform framework I wanted to have a shared cloud service to provide a data storage for game scores, level data, etc... &amp;nbsp;I would use this service to allow users to design custom levels on the PC via their browser, and publish it for play on any other device running the game.&lt;br /&gt;
&lt;br /&gt;
I create a Google App Engine project called Play-Plus (&lt;a href=&quot;http://www.gplayplus.com/&quot;&gt;www.gplayplus.com&lt;/a&gt;). The data architecture allows for the hosting and data storage of an unlimited number of games. &amp;nbsp;I plan to reuse this framework for ever game I publish, the service will be expanded to allow user in-app purchases and turn\real-time multi-player action.&lt;br /&gt;
&lt;br /&gt;
Once completed, I will provide an SDK for other developer to use. &amp;nbsp;Initially I explored using an existing API, such as ScoreLoop, Facebook, etc... &amp;nbsp;However, it required me to configure leader boards for each level, etc... Since levels can be created dynamically, I needed leader boards, rating, etc... to all be created instantly when a level was published. &lt;br /&gt;
&lt;br /&gt;
I have separated the java classes for PlayN - Play Plus which I will package into a JAR, it will include the play plus dialogs which use TriplePlay. &amp;nbsp;This will be used inside the core project so there are no platform dependencies. &amp;nbsp;Additional JAR files per platform will connect the core service interfaces with the individual optimize platform implementations.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-D6lF6Klt99CoSC0vIg3BFHOrT712vMbbFUvvTm40QdQKkShW3jZi-LnQh7Tuum7Rg6Tbqcq4RuuFM6sclO73rYWSBPO_ac1eX_OQ8Ch6ArTJMIDFsO7KcXsPIrU7e3Yrx44-L_WWzy7K/s1600/Play+Plus+Architecture.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-D6lF6Klt99CoSC0vIg3BFHOrT712vMbbFUvvTm40QdQKkShW3jZi-LnQh7Tuum7Rg6Tbqcq4RuuFM6sclO73rYWSBPO_ac1eX_OQ8Ch6ArTJMIDFsO7KcXsPIrU7e3Yrx44-L_WWzy7K/s640/Play+Plus+Architecture.png&quot; height=&quot;480&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Next time I will discuss resources to read to get started developing your own game.&lt;br /&gt;
&lt;br /&gt;
&lt;div dir=&quot;ltr&quot;&gt;
Until next time, I would greatly appreciate a&amp;nbsp;&lt;a href=&quot;https://www.facebook.com/kyght.dirtyworms&quot; target=&quot;_blank&quot;&gt;like on Facebook&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href=&quot;https://www.facebook.com/appcenter/dirtyworms&quot; target=&quot;_blank&quot;&gt;play on Facebook&lt;/a&gt;&amp;nbsp;to help it get published in their App Centre.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 60px;&quot;&gt;&lt;td style=&quot;border: 0px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;https://plus.google.com/u/0/communities/102650113524003779149&quot; target=&quot;_blank&quot;&gt;Join the G+ community for Dirty Worms&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
View all Kyght Game Releases at &lt;a href=&quot;http://kyght.blogspot.ca/&quot;&gt;http://kyght.blogspot.ca/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/4852763787547061000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/4852763787547061000' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/4852763787547061000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/4852763787547061000'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2013/07/cross-platform-game-development-with_22.html' title='Cross Platform Game Development with PlayN - Architecture'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-D6lF6Klt99CoSC0vIg3BFHOrT712vMbbFUvvTm40QdQKkShW3jZi-LnQh7Tuum7Rg6Tbqcq4RuuFM6sclO73rYWSBPO_ac1eX_OQ8Ch6ArTJMIDFsO7KcXsPIrU7e3Yrx44-L_WWzy7K/s72-c/Play+Plus+Architecture.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-6837683411808323625</id><published>2013-07-04T11:35:00.000-07:00</published><updated>2014-05-23T11:33:24.781-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="app engine"/><category scheme="http://www.blogger.com/atom/ns#" term="box2d"/><category scheme="http://www.blogger.com/atom/ns#" term="cross platform"/><category scheme="http://www.blogger.com/atom/ns#" term="dirty worms"/><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="html5"/><category scheme="http://www.blogger.com/atom/ns#" term="ios"/><category scheme="http://www.blogger.com/atom/ns#" term="libgdx"/><category scheme="http://www.blogger.com/atom/ns#" term="physics"/><category scheme="http://www.blogger.com/atom/ns#" term="playn"/><title type='text'>Cross Platform Game Development with PlayN - Concept</title><content type='html'>&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
The first game I developed was very simple and used the LibGDX framework, it was good experience but I wanted to create a game that was more complex and allowed me to build onto a story. &amp;nbsp;At the time LibGDX only supported Android &amp;amp; Java.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
While searching for possible frameworks to use, I came across PlayN which offered Android, iOS, HTML5, Java &amp;amp; Flash. &amp;nbsp;Not to mention the fact that is was developed by people at &lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/116899029375914044550&quot; target=&quot;_blank&quot;&gt;+Google&lt;/a&gt;&amp;nbsp;and used by Rovio for Angry Bird Chrome.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
I love 2D physics games and I really wanted to create one. My game concept was born from a really awesome movie which included a cast of legendary actors. &amp;nbsp;However, I needed to make them fictional characters, so I made them worms and of course their enemy is birds.&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
The idea of what types of birds they would be didn&#39;t come until much latter. &amp;nbsp;I live in Newfoundland... and we have lots of seagulls. &amp;nbsp;This spring they were all around my house, perched on the roof, about 20 of them and relieving themselves quite often!! &amp;nbsp;For about 2 week, we would awake to the sound of these gulls, squawking on the roof. Ohhh, how I wanted to get rid of them PERMANENTLY!! &amp;nbsp;However, seagulls are a federal protected species, errrr. &amp;nbsp;So I couldn&#39;t kill them in real life, but I can in the game :)&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
Now with my concept started, I begin into programming. &amp;nbsp;There is a lot to discuss so I&#39;m going to create a post for each sections of the game I&#39;ve programmed,&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/114158217309305483599&quot; target=&quot;_blank&quot;&gt;+Box2D&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/117105793163182226623&quot; target=&quot;_blank&quot;&gt;+Google Cloud Platform&lt;/a&gt;&amp;nbsp;integration, graphics, ageing particle systems, triple play, licensing,&amp;nbsp;Facebook&amp;nbsp;integration, and platform specific code.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
Until next time, I would greatly appreciate a &lt;a href=&quot;https://www.facebook.com/kyght.dirtyworms&quot; target=&quot;_blank&quot;&gt;like on Facebook&lt;/a&gt;&amp;nbsp;or &lt;a href=&quot;https://www.facebook.com/appcenter/dirtyworms&quot; target=&quot;_blank&quot;&gt;play on Facebook&lt;/a&gt;, seems Facebook doesn&#39;t list your game in App Center unless you already have people liking and playing it.&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 60px;&quot;&gt;&lt;td style=&quot;border: 0px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;https://plus.google.com/u/0/communities/102650113524003779149&quot; target=&quot;_blank&quot;&gt;Join the G+ community for Dirty Worms&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
View all Kyght Game Releases at&amp;nbsp;&lt;a href=&quot;http://kyght.blogspot.ca/&quot;&gt;http://kyght.blogspot.ca/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;121&quot;&gt;&lt;/col&gt;&lt;col width=&quot;615&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/6837683411808323625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/6837683411808323625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/6837683411808323625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/6837683411808323625'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2013/07/cross-platform-game-development-with.html' title='Cross Platform Game Development with PlayN - Concept'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-8880831397489707898</id><published>2013-05-16T09:31:00.000-07:00</published><updated>2013-05-21T12:22:41.935-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="linq"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlmetal"/><category scheme="http://www.blogger.com/atom/ns#" term="wpf"/><title type='text'>Using LINQ to SQL with SQLMetal &amp; WPF</title><content type='html'>&lt;h2&gt;
Introduction&lt;/h2&gt;
I had an opportunity to evaluate LINQ for use in a production application and was surprisingly impressed. &amp;nbsp;Microsoft often tends to release new versions of Visual Studio &amp;amp; .NET framework that contain few real enhancements to improving the speed&amp;nbsp;efficiency&amp;nbsp;of developing a real world application. &amp;nbsp;The combination of LINQ, SQLMetal &amp;amp; WPF is a major improvement for developing data-driven application. &lt;br /&gt;
&lt;br /&gt;
My next blog post will be related to using SQLMetal to generate serializable classes for use with Window Communications Foundation (WCF). &amp;nbsp;This will be very exciting to investigate and on the surface appears almost completely transparent to the rest of the client application and it&#39;s WPF bindings.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Database Setup&lt;/h2&gt;
First you have to setup your database model before you can use SQLMetal to generate your ORM layer. &amp;nbsp;Create your tables, primary keys, indexes and&amp;nbsp;foreign keys. &amp;nbsp;It&#39;s very important to setup your foreign keys as they will be used to generate your object relations in SQLMetal, making it super easy to reference related data from a parent record (Ex. Employee.Province.Code)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSWdtAHBjd6P3FGTXHJVpprW71HLQogEc8JmRtJDPbiJkSxSTvpqkPN762cNipeqL2AcAgkSZ2GnsRPxjovrq9d_L0I6Vis1RGYiQJg90dr19OQ97tXn2PD0641imrEVXM08_jvsFA5QwH/s1600/datadiagram.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;279&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSWdtAHBjd6P3FGTXHJVpprW71HLQogEc8JmRtJDPbiJkSxSTvpqkPN762cNipeqL2AcAgkSZ2GnsRPxjovrq9d_L0I6Vis1RGYiQJg90dr19OQ97tXn2PD0641imrEVXM08_jvsFA5QwH/s320/datadiagram.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
SQLMetal Generated ORM Layer&lt;/h2&gt;
Now we can use SQLMetal to generate the ORM layer to use in the application.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/vstudio/bb386987.aspx&quot; target=&quot;_blank&quot;&gt;SQLMetal&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;The SQLMetal file is included in the Windows SDK that is installed with Visual Studio. By default, the file is located at&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;parameter&quot; style=&quot;background-color: white; color: #666666; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; font-style: italic; line-height: 21px;&quot;&gt;drive&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;:\Program Files\Microsoft SDKs\Windows\v&lt;/span&gt;&lt;span class=&quot;parameter&quot; style=&quot;background-color: white; color: #666666; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; font-style: italic; line-height: 21px;&quot;&gt;n.nn&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #666666; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;\bin. If you do not install Visual Studio, you can also get the SQLMetal file by downloading the&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=142225&quot; style=&quot;background-color: white; color: #1382ce; font-family: &#39;Segoe UI&#39;, Helvetica, Garuda, Arial, sans-serif; font-size: 14px; line-height: 21px; text-decoration: none;&quot;&gt;Windows SDK&lt;/a&gt;&lt;/blockquote&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #666666;&quot;&gt; For complete usage information of&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/vstudio/bb386987.aspx&quot; target=&quot;_blank&quot;&gt;SQLMetal&lt;/a&gt;&amp;nbsp;visit Microsoft&#39;s website.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My&amp;nbsp;initial&amp;nbsp;command line usage of SQLMetal is pretty simple.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;sqlmetal /server:localhost /database:employee /code:employee.cs &amp;nbsp;&lt;/span&gt; &amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;h2&gt;
Solution&lt;/h2&gt;
My solution file consists of a WPF application and a Class Library. Add your SQLMetal generated class file to your Class Library and have you WPF application reference that Library.&lt;br /&gt;
&lt;br /&gt;
Connecting to your database from inside your WPF application is as simple as creating your database object with a supplied connection string.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;DB = new Employee (&quot;server=localhost; database=employee; Trusted_Connection=True;&quot;);&lt;/span&gt;&lt;/blockquote&gt;
&lt;h4&gt;
Using LINQ&lt;/h4&gt;
Now accessing your databases objects in code is super simple. The code sample below&amp;nbsp;retrieves&amp;nbsp;a list of all provinces in the database. The Provinces class is generated by SQLMetal and has properties that correspond with the underline table.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;var provincelist = new List&amp;lt;Provinces&amp;gt;(from p in DB.Provinces select p)&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;h4&gt;
WPF Bindings&lt;/h4&gt;
While accessing the database from code is great, often data changes are performed by a user. &amp;nbsp;So displaying the data, accepting user changes and saving back to database is key. &amp;nbsp;This is where WPF bindings save a lot of time.&lt;br /&gt;
&lt;br /&gt;
In your C# code, get a list of employee&#39;s&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;var employees = from c in db.Employee select c&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Pass an employee object to a UserControl for displaying, set the UserControl.DataContext property to the employee object returns from the LINQ call.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;this.DataContext = employee;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
The XAML below showing binding controls on a UserControl to the employee object.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;&amp;lt;TextBox Text=&quot;&lt;b&gt;{Binding Path=First}&lt;/b&gt;&quot; Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;0,10,5,0&quot; VerticalAlignment=&quot;Top&quot; MinWidth=&quot;150&quot; Width=&quot;auto&quot; /&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;&amp;lt;ComboBox Name=&quot;provList&quot; &lt;b&gt;DisplayMemberPath=&quot;Code&quot;&lt;/b&gt; &lt;b&gt;ItemsSource=&quot;{Binding Source={x:Static list:GlobalList.ProvinceList}}&quot; SelectedItem=&quot;{Binding Path=Provinces}&quot;&lt;/b&gt; Width=&quot;75&quot; Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;5,0,0,0&quot; VerticalAlignment=&quot;Top&quot;/&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
A Text box to display the employee&#39;s first name is pretty easy, just bind the Text property to the First property on the employee object.&lt;br /&gt;
&lt;br /&gt;
The combo box is was a little troublesome at first because I was setting the Employee.Province (int) using SelectedValuePath. &amp;nbsp;While this was correctly setting the Employee object I ran into a LINQ issues.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;The member &#39;X&#39; was changed to be inconsistent with the association member &#39;Y&#39;&lt;/b&gt;&lt;/blockquote&gt;
&lt;div&gt;
This was because the Employee.Provinces (Class) object was still null even though I set the&amp;nbsp;foreign&amp;nbsp;key value. &amp;nbsp;The solution was to set the SelectedItem and let LINQ take care of&amp;nbsp;synchronizing the foreign key value.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
This was also true for ComboBox columns inside DataGrid&#39;s, I used the following XAML to correctly bind my DataGrid drop-down lists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;lt;DataGridComboBoxColumn&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Header=&quot;WorkingType&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;DisplayMemberPath=&quot;Name&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SelectedItemBinding=&quot;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Binding Path=WorkTypes,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Mode=TwoWay,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;UpdateSourceTrigger=PropertyChanged}&quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;DataGridComboBoxColumn.ElementStyle&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Style TargetType=&quot;{x:Type ComboBox}&quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Setter Property=&quot;ItemsSource&quot;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Value=&quot;{Binding Source={x:Static list:GlobalList.WorkTypesList}}&quot; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Style&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/DataGridComboBoxColumn.ElementStyle&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;DataGridComboBoxColumn.EditingElementStyle&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Style TargetType=&quot;{x:Type ComboBox}&quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Setter Property=&quot;ItemsSource&quot;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Value=&quot;{Binding Source={x:Static list:GlobalList.WorkTypesList}}&quot; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Style&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/DataGridComboBoxColumn.EditingElementStyle&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;lt;/DataGridComboBoxColumn&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Saving Data&lt;/h2&gt;
Now for the easy part, saving the data back to the database after the user has altered it using the WPF controls.&lt;br /&gt;
&lt;br /&gt;
This one statement applied all inserts, updates and deletes back to the database.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;DB.SubmitChanges();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
So the above handles querying data and editing it, but what about insert, this is also very easy. &amp;nbsp;Add a new button to your code and call the following function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; employee = new Employee();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DB.Employee.InsertOnSubmit(employee);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; color: #0b5394;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserControl.DataContext = employee&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This code add a new employee, allows the user to edit it and when DB.SubmitChanges() is called, the record will be inserted. RemoveOnSubmit is also available for deletes.&lt;br /&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
Microsoft appears to have a real winning combination here, just imagine its usage with WCF. Creating a responsive data driven application for clients is fast, stable and contains little code. &amp;nbsp;The biggest&amp;nbsp;challenge so far seem to be using the correct WPF bindings for the LINQ generated objects. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/8880831397489707898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/8880831397489707898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8880831397489707898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8880831397489707898'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2013/05/using-linq-to-sql-with-sqlmetal-wpf.html' title='Using LINQ to SQL with SQLMetal &amp; WPF'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSWdtAHBjd6P3FGTXHJVpprW71HLQogEc8JmRtJDPbiJkSxSTvpqkPN762cNipeqL2AcAgkSZ2GnsRPxjovrq9d_L0I6Vis1RGYiQJg90dr19OQ97tXn2PD0641imrEVXM08_jvsFA5QwH/s72-c/datadiagram.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-1959168582792200725</id><published>2013-01-31T12:10:00.000-08:00</published><updated>2013-02-04T09:13:15.526-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="app engine"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="geospatial"/><category scheme="http://www.blogger.com/atom/ns#" term="indexspec"/><category scheme="http://www.blogger.com/atom/ns#" term="scoreddocument"/><category scheme="http://www.blogger.com/atom/ns#" term="search"/><title type='text'>Google AppEngine Search API</title><content type='html'>&lt;span style=&quot;font-size: large;&quot;&gt;Introduction&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
In the article&amp;nbsp;&lt;a href=&quot;http://netlegger.blogspot.ca/2013/01/geospatial-queries-with-google-app.html&quot;&gt;Geospatial Queries with Google App Engine&lt;/a&gt;&amp;nbsp;I discussed my&amp;nbsp;initial&amp;nbsp;attempts to preform geospatial queries using&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/101572674708701524174&quot; target=&quot;_blank&quot;&gt;+Google App Engine&lt;/a&gt;. &amp;nbsp;The described how I arrived at my solution but didn&#39;t provide any details on my implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Datastore Entity vs Scored Document&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I store all my data in Datastore entities, they are easy to save, fetch and run queries on. &amp;nbsp;So when I first started to read about the search API and having to create a document for indexing I felt there was a lot of overlay with entities. &lt;br /&gt;
&lt;br /&gt;
I had to build a document with fields I had already saved in an entity,&amp;nbsp;I initially created a document with only the fields I required for searching by location along with keys to my saved entities so I could fetch them. &amp;nbsp;Each time I added\updated an entity I called my index function to keep my index current with my entities.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;IndexSpec &lt;/span&gt;indexSpec = IndexSpec.newBuilder().setName(&quot;locIndex&quot;).build();&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;Index&lt;/span&gt; idx = SearchServiceFactory.getSearchService().getIndex(indexSpec);&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;Locdoc = Document.newBuilder() &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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;.addField(Field.newBuilder().setName(&quot;&lt;span style=&quot;color: blue;&quot;&gt;id&lt;/span&gt;&quot;).setText(eid)) &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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;.addField(Field.newBuilder().setName(&quot;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;parentid&lt;/span&gt;&lt;/span&gt;&quot;).setText(RegId)) &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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;.addField(Field.newBuilder().setName(&quot;&lt;span style=&quot;color: blue;&quot;&gt;regid&lt;/span&gt;&quot;).setText(RegId)) &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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;.addField(Field.newBuilder().setName(&quot;&lt;span style=&quot;color: blue;&quot;&gt;active&lt;/span&gt;&quot;).setText(Active)) &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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;.addField(Field.newBuilder().setName(&quot;&lt;span style=&quot;color: blue;&quot;&gt;location&lt;/span&gt;&quot;).setGeoPoint(geoLoc)) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; .build();&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;idx.put(Locdoc);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Geospatial Index Search&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
After indexing my entities with the new search api, I used it to search for entities with a specific distance from a geopoint and it worked great.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;String &lt;/span&gt;queryStr = &quot;(active:1) AND&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;distance(location, geopoint(&quot; + lat + &quot;, &quot; + lon + &quot;)) &amp;lt; &quot; + userad;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Courier New; font-size: x-small;&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Results&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;ScoredDocument&lt;/span&gt;&amp;gt; results = getLocIndex().search(queryStr);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Initially,&amp;nbsp;I would get the entity key from the document and fetch the entity using the key. &amp;nbsp;However, I quickly realized this was a bad idea. I check my dashboard quotes and discovered I was hitting two quotes categories &quot;Datastore Read Operations&quot; and &quot;Search API Calls&quot;.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEWctX7YE97emY50F2UEycgKxjTLq-NA53lrEP1GaGv63GoLn2hoUUIhWVNqYKuEZjy9nR39h2SI8O0M0blX3Z1HNU37JtWsXCJaOcaenodPKLlrSeJr7HLwBTUwK8KDfE4XCEX3xW35of/s1600/APISearchHit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEWctX7YE97emY50F2UEycgKxjTLq-NA53lrEP1GaGv63GoLn2hoUUIhWVNqYKuEZjy9nR39h2SI8O0M0blX3Z1HNU37JtWsXCJaOcaenodPKLlrSeJr7HLwBTUwK8KDfE4XCEX3xW35of/s400/APISearchHit.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Optimization to minimize quote impact&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Since I had to use the Search API to locate data by location, I decided to examine all location based searches in my app and encode into the indexed document all the fields I required to handle a user response.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
This resulted in much lower Datastore Read Operations and an increase in the response time. &amp;nbsp;Remember to limit the amount of data you push into your indexed document because there are limitations. See &lt;a href=&quot;https://developers.google.com/appengine/docs/java/search/overview#Quotas&quot; target=&quot;_blank&quot;&gt;Search API quote&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
Thanks for reading, follow me on G+ at&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/109360815753344744738&quot; target=&quot;_blank&quot;&gt;+Tim O&#39;Brien&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/106113844030010176527&quot; target=&quot;_blank&quot;&gt;+Kyght&lt;/a&gt;&lt;br /&gt;
www.kyght.com&lt;br /&gt;
tobrien@kyght.com&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://cloud.google.com/products/?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=appengine-search&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aZdEHtQITZ4KqycqnXHHMpvqG86zEuZRPuwCPQeZToHdDHET2HV7z1YR2YtMNFPvtYm5Fm5oAL52xaobA15EPaAvZ2hguO2F4IfusOE1FjyVWI6Y1uenrVDDX4cXJaDaOMFazrADsmiO/s1600/Google-App-Engine-Logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Note: The above icon is the property of Google and is only here to provide readers with&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;a visual&amp;nbsp;recognition of the Google product.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/1959168582792200725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/1959168582792200725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1959168582792200725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1959168582792200725'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2013/01/google-appengine-search-api.html' title='Google AppEngine Search API'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEWctX7YE97emY50F2UEycgKxjTLq-NA53lrEP1GaGv63GoLn2hoUUIhWVNqYKuEZjy9nR39h2SI8O0M0blX3Z1HNU37JtWsXCJaOcaenodPKLlrSeJr7HLwBTUwK8KDfE4XCEX3xW35of/s72-c/APISearchHit.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-7748705669839423668</id><published>2013-01-18T10:24:00.001-08:00</published><updated>2013-01-18T10:24:11.997-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="app engine"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="data store"/><category scheme="http://www.blogger.com/atom/ns#" term="GCM"/><category scheme="http://www.blogger.com/atom/ns#" term="geomodel"/><category scheme="http://www.blogger.com/atom/ns#" term="geospatial"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="queries"/><title type='text'>Geospatial Queries with Google App Engine</title><content type='html'>&lt;h2&gt;
Introduction&lt;/h2&gt;
While developing an Android app that uses Google Cloud Messaging and integrates with&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/101572674708701524174&quot; target=&quot;_blank&quot;&gt;+Google App Engine&lt;/a&gt;, I ran into a common App Engine issue. Geospatial queries using High Replication Data Store. &amp;nbsp;In my application I connect users via their location, when a user performs an action in the app, users in their selected location receive a message via GCM.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
DataStore vs Rational Databases&lt;/h2&gt;
Coming for the rational database world of Oracle and SQL server, I attempted to execute a query to locate devices inside the users selected area. &amp;nbsp;I used a bounding box to determine what devices are within a given area. &amp;nbsp;Pleased with my approach, I constructed my filter and updated to App Engine for&amp;nbsp;execution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;query.setFilter(&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;CompositeFilterOperator.and(&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;FilterPredicate(COFFEERUN_ACTIVE_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;Query.FilterOperator.EQUAL,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;CompositeFilterOperator.and(&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_LAT_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;Query.FilterOperator.GREATER_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].getLatitudeInDegrees()&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_LAT_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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; Query.FilterOperator.LESS_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;boundbox[&lt;span style=&quot;color: maroon;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].getLatitudeInDegrees()&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;),&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;CompositeFilterOperator.and(&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_LON_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;Query.FilterOperator.GREATER_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;getLongitudeInDegrees&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_LON_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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; Query.FilterOperator.LESS_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;boundbox[&lt;span style=&quot;color: maroon;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;getLongitudeInDegrees&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;)));&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BOOM!!! Exception (IllegalArgumentException: Only one inequality filter per query is supported)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What! this can&#39;t be right, this type of query executes all the time in Oracle and SQL, lets check the documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://developers.google.com/appengine/docs/java/datastore/queries#Filters&quot; target=&quot;_blank&quot;&gt;Google Developers - App Engine - Datastore Queries&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
A query can have no more than one not-equal filter, and a query that has one cannot have any other inequality filters.&lt;/blockquote&gt;
&lt;h3&gt;
&lt;br /&gt;&lt;/h3&gt;
&lt;h2&gt;
Research &amp;amp; Development&lt;/h2&gt;
&lt;div&gt;
Ok, that&#39;s fine, time to do some research, GeoHashing seems to be the answer and the &lt;a href=&quot;http://code.google.com/p/geomodel/&quot; target=&quot;_blank&quot;&gt;GeoModel&lt;/a&gt; project has an App Engine implementation. However, it&#39;s a lot of work to integrate and I still have to read my matches to determine if they are within my search area. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There must be something in native App Engine to handle this type of query, after all Google does it all the time. &amp;nbsp;I find out there is a native GeoPt datatype in App Engine, I will try using that first to see if it works.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I update the code to store GeoPt values for device locations and change my query to use the new GeoPt value, I upload my code to App Engine and give it a try.&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;GeoPt&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;geoLocG&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;GeoPt((&lt;/span&gt;&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;float&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;)boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].getLatitudeInDegrees(),&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;float&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;)boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;].getLongitudeInDegrees());&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;GeoPt&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;geoLocL&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;GeoPt((&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;float&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;)boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;].getLatitudeInDegrees(),&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&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;b&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;float&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;)boundbox[&lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;].getLongitudeInDegrees());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;query.setFilter(&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;CompositeFilterOperator.and(&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;FilterPredicate(COFFEERUN_ACTIVE_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;Query.FilterOperator.EQUAL,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: maroon; font-family: &#39;Courier New&#39;;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;CompositeFilterOperator.and(&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_GEO_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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; Query.FilterOperator.GREATER_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;geoLocG),&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;FilterPredicate(COFFEERUN_GEO_PROPERTY,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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; Query.FilterOperator.LESS_THAN,&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;geoLocL)&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;)));&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&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;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&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;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;Iterable&amp;lt;Entity&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;entities&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &#39;Courier New&#39;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;=&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datastore.prepare(query).asIterable(DEFAULT_FETCH_OPTIONS);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
Yes it worked, it didn&#39;t raise an exception and I get some results in my rather large area query. I move on and go back to working on the Android app.&lt;br /&gt;
&lt;br /&gt;
Then during testing I find that I&#39;m not receive some GCM messages and other devices are getting messages that are outside the visual search area on the map. I then start adding integration with Google Places API and custom POI data from various US cities. &amp;nbsp;I set my testing&amp;nbsp;environment location for my devices to San&amp;nbsp;Francisco, then it becomes very clear. &amp;nbsp;I&#39;m getting back entries that are outside my query area.&lt;br /&gt;
&lt;br /&gt;
I take each matching entries&amp;nbsp;geographical location and plot it using &lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/111401917971052287374&quot; target=&quot;_blank&quot;&gt;+Google Maps&lt;/a&gt;&amp;nbsp;, I add my bounding box and quickly see there is an issue. &amp;nbsp;I guess the lesson learned here is, just because it executes doesn&#39;t mean it worked.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
So the question is &quot;When searching the datastore by location, you can not use an inequality filter for latitude/longitude. Many older articles suggest using geomodel, however with the newer GeoPt datatype, does datastore correctly handle greater than/least than on GeoPt&#39;s or does geomodel still have to be used for location queries?﻿&quot;&lt;br /&gt;
&lt;br /&gt;
Thankfully I recently joined&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/101560853443212199687&quot; target=&quot;_blank&quot;&gt;+Google+&lt;/a&gt;&amp;nbsp;, and was able to ask that very question to the&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/117105793163182226623&quot; target=&quot;_blank&quot;&gt;+Google Cloud Platform Developers&lt;/a&gt;&amp;nbsp;. If you want to view the post directly, &lt;a href=&quot;https://plus.google.com/u/0/117105793163182226623/posts/co7P2eLhebS&quot; target=&quot;_blank&quot;&gt;click here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
They suggested I use &quot;App Engine Search API (Experimental)&quot;, which comes with the following note&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Experimental!&lt;br /&gt;Search is an experimental, innovative, and rapidly changing new feature for Google App Engine. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to Search. We will inform the community when this feature is no longer experimental.&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
I changed all my code to use the Search API and it works awesome. &amp;nbsp;I double checked all matches using &amp;nbsp;&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/111401917971052287374&quot; target=&quot;_blank&quot;&gt;+Google Maps&lt;/a&gt;&amp;nbsp;and it was perfect.&lt;br /&gt;
&lt;br /&gt;
So if your looking to perform location based searches, have a look at&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/101572674708701524174&quot; target=&quot;_blank&quot;&gt;+Google App Engine&lt;/a&gt;&amp;nbsp;Search API.&lt;br /&gt;
&lt;br /&gt;
Here is a link to the Java Search API reference doc &lt;a href=&quot;https://developers.google.com/appengine/docs/java/search/overview#Performing_Location-Based_Searches&quot; target=&quot;_blank&quot;&gt;&quot;Search API -&amp;nbsp;Performing Location Based Searches&quot;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Let me know if you have any issues or need more info, you can find me on&amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/101560853443212199687&quot; target=&quot;_blank&quot;&gt;+Google+&lt;/a&gt;&amp;nbsp; at &amp;nbsp;&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/109360815753344744738&quot; target=&quot;_blank&quot;&gt;+Tim O&#39;Brien&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for reading.&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/109360815753344744738&quot; target=&quot;_blank&quot;&gt;+Tim O&#39;Brien&lt;/a&gt;&lt;br /&gt;
&lt;a class=&quot;g-profile&quot; href=&quot;http://plus.google.com/106113844030010176527&quot; target=&quot;_blank&quot;&gt;+Kyght&lt;/a&gt;&lt;br /&gt;
www.kyght.com&lt;br /&gt;
tobrien@kyght.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://cloud.google.com/products/?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=appengine-search&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aZdEHtQITZ4KqycqnXHHMpvqG86zEuZRPuwCPQeZToHdDHET2HV7z1YR2YtMNFPvtYm5Fm5oAL52xaobA15EPaAvZ2hguO2F4IfusOE1FjyVWI6Y1uenrVDDX4cXJaDaOMFazrADsmiO/s1600/Google-App-Engine-Logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Note: The above icon is the property of Google and is only here to provide readers with&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;a visual&amp;nbsp;recognition of the Google product.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/7748705669839423668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/7748705669839423668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/7748705669839423668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/7748705669839423668'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2013/01/geospatial-queries-with-google-app.html' title='Geospatial Queries with Google App Engine'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aZdEHtQITZ4KqycqnXHHMpvqG86zEuZRPuwCPQeZToHdDHET2HV7z1YR2YtMNFPvtYm5Fm5oAL52xaobA15EPaAvZ2hguO2F4IfusOE1FjyVWI6Y1uenrVDDX4cXJaDaOMFazrADsmiO/s72-c/Google-App-Engine-Logo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-1324015728038421458</id><published>2011-11-22T08:55:00.001-08:00</published><updated>2013-02-04T09:14:33.800-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="continuous integration. cruise control"/><title type='text'>Source Documentation</title><content type='html'>Documentation... The most hated word in software development.&amp;nbsp; Programmers can&#39;t stand doing documentation and will avoid it at all cost.&lt;br /&gt;
&lt;br /&gt;
So, it&#39;s best to make it easy for them to do, and conduct code reviews to ensure it&#39;s being completed.&amp;nbsp; I&#39;m not talking about source code comments regarding the logic, I&#39;m talking base classes, interfaces, and components that are used everywhere and demand a specific usage.&lt;br /&gt;
&lt;br /&gt;
One of the biggest reasons why developers don&#39;t do this&amp;nbsp;is because&amp;nbsp;source code and documentation are often in two different location and they always get out-of-sync so why invest the effort.&amp;nbsp; This is a very valid reason, however as I mentioned in my post about &lt;a href=&quot;http://netlegger.blogspot.com/2011/11/retaining-senior-staff-software.html&quot; target=&quot;_blank&quot;&gt;retaining senior staff&lt;/a&gt;&amp;nbsp;this can cause major issues down the road.&lt;br /&gt;
&lt;br /&gt;
It&#39;s best to keep your source code and documentation in the exact same spot, this will allow developers to quickly and easily update the documentation based on changes in the source code. This also allows the documentation to be versioned along with the source changes.&amp;nbsp; When other developers have to use or update your code, there is clear documentation of your intentions.&lt;br /&gt;
&lt;br /&gt;
Visual Studio was updated to produce xml&amp;nbsp;formatted&amp;nbsp;docmentation based on special comment tags beginning with &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=3178603507919442231&quot;&gt;\\\&lt;/a&gt;&amp;nbsp;will be processed.&amp;nbsp; You can also use special &amp;lt;XML&amp;gt; tag and have your output formatted differently.&lt;br /&gt;
&lt;br /&gt;
In your source code, MyClass.cs, you can add&amp;nbsp;the &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=3178603507919442231&quot;&gt;\\\&lt;/a&gt; comment&amp;nbsp;above the class, interface, method, etc... that you want to document.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;/** &amp;lt;summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*
ITranslator provides methods for callers to get a translation.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Implementers of ITranslator have to &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;* preform
the translation requested. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*
&amp;lt;/summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*
&amp;lt;example&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;When receiving a ITranslationItems object
when implementing Translate the sender can be&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;enumerated as shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;code&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;foreach(var item in
sender.TranslationItems()) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;// Get translatable strings from
the class &lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&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;//implementing&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;ITranslationItems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;String lbls = item.Label;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;if (lbls == null) continue; //No
Label set&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;

&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;// 3. perform translations&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;lbls =
map.GetTranslation(destinationlang, lbls);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;//Set Translated Label to be used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&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;item.Label = lbls;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/code&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/example&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: navy; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;public&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;interface&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;
ITranslator {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Update your project file to output xml documentation and source code lines beginning with &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=3178603507919442231&quot;&gt;\\\&lt;/a&gt; above will be generated with your assembly myCode.dll and myCode.xml.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6-USYAuQ0HUL0xTwQqMsneEOCRaj86Z6H7-pNmDfvhXb1CYG7dSDnSy3sqWQ0o8ZjLUUHYW0fTKrWIZwlZPjFNt1-gZWJ_WaTg6KBawTy0ZOTMH2goJFRio0I80w5nvIY4o6MBk1Eyd7/s1600/outputhere.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6-USYAuQ0HUL0xTwQqMsneEOCRaj86Z6H7-pNmDfvhXb1CYG7dSDnSy3sqWQ0o8ZjLUUHYW0fTKrWIZwlZPjFNt1-gZWJ_WaTg6KBawTy0ZOTMH2goJFRio0I80w5nvIY4o6MBk1Eyd7/s1600/outputhere.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a sample of the output generated from Visual Studio.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;doc&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;assembly&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;name&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;myCode&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;name&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;assembly&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;members&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;member&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&quot;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;T:Translation.NamespaceDoc&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;summary&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;The
Translation namespace is used to by application link objects with items
requiring&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;translation to avialable translation providers.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Providers must implement the iTranslator
interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;summary&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;member&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;member&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&quot;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;T:Translation.ITranslatable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;summary&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;ITranslator provides methods for callers to get a translation.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Implementers of ITranslator have to&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;
&lt;/span&gt;preform the translation requested.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;summary&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;example&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;
&lt;/span&gt;When receiving a ITranslationItems object when implementing Translate
the sender can be&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;enumerated as shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;code&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;
&lt;/span&gt;foreach(var item in sender.TranslationItems()) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;// Get translatable
strings from the class &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // implementing&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;ITranslationItems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;String lbls =
item.Label;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if (lbls == null)
continue; //No Label set&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;
&lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;// 3. perform translations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lbls =
map.GetTranslation(destinationlang, lbls);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//Set Translated
Label to be used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&amp;nbsp; &lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;item.Label = lbls;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&amp;nbsp;
&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;code&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;example&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;member&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An XML formatted document is hardly usable documentation, and if you only have Visual Studio then that&#39;s all you get.&amp;nbsp; You have to download some additional applications to package your work into a pretty and professional outputs.&amp;nbsp; Luckly it&#39;s not going to cost the company a dime, first download &lt;a href=&quot;http://sandcastle.codeplex.com/&quot; target=&quot;_blank&quot;&gt;Sandcastle&lt;/a&gt;, it will compile your xml and process your assembiles to generate a&amp;nbsp;great documentation in a number of formats.&amp;nbsp; Then download &lt;a href=&quot;http://shfb.codeplex.com/&quot; target=&quot;_blank&quot;&gt;Sandcastle Builder&lt;/a&gt; because sandcastle doesn&#39;t have a GUI and it&#39;s much easier to setup a project using Sandcastle Builder.&lt;br /&gt;
&lt;br /&gt;
Create a new project using Sandcastle Builder and add documentation sources, your assemblies and your generated xml files.&amp;nbsp; There are four supported HelpFileFormats available, HtmlHelp (.chm), MSHelp, MSHelpViewer (Visual Studio integrated help), and Website.&lt;br /&gt;
&lt;br /&gt;
After you compile your project you will end up with a great looking help file.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLZnV86ji-eeKybJ5Ky5kShtk4L-Pry6grjmjRNHSip3v4UovqsmiSaiyHPe6YWYhC7MMBNbpHH-HsEWDOw0wJQw1pl9EIlGmEqKtNBqa0MZVsUrWyBqQyGCPEI_xixAdea6iv0sOhyphenhyphenOUy/s1600/docimg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLZnV86ji-eeKybJ5Ky5kShtk4L-Pry6grjmjRNHSip3v4UovqsmiSaiyHPe6YWYhC7MMBNbpHH-HsEWDOw0wJQw1pl9EIlGmEqKtNBqa0MZVsUrWyBqQyGCPEI_xixAdea6iv0sOhyphenhyphenOUy/s640/docimg.png&quot; width=&quot;622&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can distribute your source documentation to your team, or even better yet!!! Include the documentation building in your build process. Add the following lines (with your paths and filenames) to your CruiseControl.NET installation (ccnet.config) and generate versioned documentation with your versioned application.&lt;br /&gt;
&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; BUILD
DOCUMENTATION &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;exec&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\Dev\DeveloperDocs\Sandcastle\Projects&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildArgs&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;/p:Configuration=Debug
CoreFramework.shfbproj&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildArgs&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildTimeoutSeconds&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;0&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildTimeoutSeconds&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;exec&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: grey; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; Package
DOCUMENTATION &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;exec&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\Program Files
(x86)\Inno Setup 5\ISCC.exe&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\Dev\DeveloperDocs\Sandcastle\Projects&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildArgs&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;CoreFramework.iss&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildArgs&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;exec&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Note: &lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;CoreFramework.iss is an InnoSetup file, generate your own using the built-in script wizard.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman; font-size: small;&quot;&gt;I hope this article was helpful, let me know if you have any questions.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/1324015728038421458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/1324015728038421458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1324015728038421458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1324015728038421458'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2011/11/source-documentation.html' title='Source Documentation'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr6-USYAuQ0HUL0xTwQqMsneEOCRaj86Z6H7-pNmDfvhXb1CYG7dSDnSy3sqWQ0o8ZjLUUHYW0fTKrWIZwlZPjFNt1-gZWJ_WaTg6KBawTy0ZOTMH2goJFRio0I80w5nvIY4o6MBk1Eyd7/s72-c/outputhere.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-1044301980618427285</id><published>2011-11-18T07:25:00.001-08:00</published><updated>2013-05-24T04:39:26.399-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Retaining Senior Staff (Software)</title><content type='html'>One of the biggest issues facing many companies is resource retention.&amp;nbsp; I don&#39;t believe many companies understand the long term cost of losing a resources, especially senior resource that have been with the company for years.&lt;br /&gt;
&lt;br /&gt;
Product development is simple, write some code and make it&amp;nbsp;work as expected, right?&amp;nbsp; No!!! if your a company that is developing a product that you intent to market and update for years to come, then it&#39;s not that simple.&amp;nbsp; Version 1 of the&amp;nbsp;product development cycle is the easiest, there is no existing code base, no existing issues, and time pressures are not&amp;nbsp;customer driven.&lt;br /&gt;
&lt;br /&gt;
Now fast forward 5 years since the release of version 1, with a quarterly release cycle you&amp;nbsp;now have released 20 versions of your product (5 major and 15 minor revisions).&amp;nbsp; In additional to this you have responded to customer demand and released 50 patches of various versions.&amp;nbsp;&amp;nbsp;The source code has been modified by a team of 10 developers (2 seniors, 5 intermediate, and 3 junior). However, it&#39;s not&amp;nbsp;the original team you started with, you have had&amp;nbsp;3 senior,&amp;nbsp;4 intermediate, and&amp;nbsp;6 junior developers&amp;nbsp;come and go since you started.&lt;br /&gt;
&lt;br /&gt;
Now you only have 1 senior and&amp;nbsp;2 intermediate developers&amp;nbsp;that were part of the original team, one day your last senior resource puts in his notice, shortly afterwards&amp;nbsp;1 of your intermediate resource also gives notice.&amp;nbsp;Unless you have well defined processes and clearly defined resource roles and procedures then your in trouble.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Your long term resources have likely taken on additional work because they loss the resources they trained and depended on for various tasks.&amp;nbsp; They have created scripts, custom exe&#39;s, and utilize 3rd-party tools to complete their work load on time, these tools only exists on their computer, the source is not checked into source control&amp;nbsp;and only they know the procedures to use them.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You try to offer your last senior&amp;nbsp;resource some more money to stay but it&#39;s too late, the job they are going to has more money, a smaller work load, and more benefits.&amp;nbsp; Your other resources try to hold down the fort while you get another senior resource, you change your release cycle to annual and can only manage minor releases and patches.&amp;nbsp; Your team is struggling and pressures are growing, resources beginning to leave more frequently.&lt;br /&gt;
&lt;br /&gt;
Your company is starting to get a bad name due to turnover, you have&amp;nbsp;to&amp;nbsp;increase your salaries way above your competition.&amp;nbsp; You let your junior resources go to cover the increase in costs.&amp;nbsp; Now with your increased salaries you manage to hire 3 senior&amp;nbsp;and retain 2 intermediate resources.&amp;nbsp; Your new senior resources complete a review of the source code base and inform you that a rewrite needs to be completed.&amp;nbsp; How could this be, the source has been&amp;nbsp;maintained and updated for 5 years.&amp;nbsp; You allow the rewrite because you have no other choice. &lt;br /&gt;
&lt;br /&gt;
You&amp;nbsp;begin to think that your&amp;nbsp;previous senior resources must have not know what they were doing.&amp;nbsp; However, they were not the problem, you were!!! You allowed this to occur!&amp;nbsp; Do you know what happens on a daily basis? What activities are each resource is responsible for?&amp;nbsp; What procedures to they use to complete their assigned tasks?&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
You should have required all resources to document each activity they preformed!&amp;nbsp; All source code should be well documented! Main activities such as builds should be preformed on separate and controlled environments!&amp;nbsp; Developer documentation of frameworks and products should be maintained so that new staff could understand existing code and not have to rewrite new code!!!&lt;br /&gt;
&lt;br /&gt;
On the&amp;nbsp;human resources management side,&amp;nbsp;when you conducted your&amp;nbsp;annual reviews with your employees did you really listen to what they were saying?&amp;nbsp; Did you ask the right questions?&amp;nbsp;Have you improving the work environment? Do you allow time flexibility?&amp;nbsp; Ability to work remotely?&amp;nbsp; Is vacation time enough for changing employees who now have families? Did you allow salaries to remain stagnate?&lt;br /&gt;
&lt;br /&gt;
Employee retention is not about always increasing salaries, and companies that operate&amp;nbsp;REAL pension plans have a massive advantage over other companies.&amp;nbsp; As employees grow older they have families, expenses grow, they begin to plan retirement.&amp;nbsp; There was a time when companies treated employees like family and looked after them, this created very loyal employees. Over the years many companies focused on rapid and massive growth, employees became numbers and when growth slowed the work force was cut without a second thought. Employees in turn became less loyal and no longer stay with a company for very long.&lt;br /&gt;
&lt;br /&gt;
Not everything is about money, employees who are treated with respect, given help when needed, and have their long term objectives supported will likely remain with that company for years.&amp;nbsp; If they move on for other reasons you may find them returning.&lt;br /&gt;
&lt;br /&gt;
The most critical task is to not let your company fall into risk, don&#39;t let risk build.&amp;nbsp; If you lack the knowledge then hire a right hand man and treat him as such.&amp;nbsp; Capture what your business does, who does what tasks, how do the tasks get completed.&amp;nbsp; Define and document your processes and procedure, store &amp;amp; version them in a document repository, and stay on top of your businesses daily operations.&amp;nbsp; Once you have all the information, use it to remove risk, automate major activities, host them in&amp;nbsp;environments&amp;nbsp;that you control,&amp;nbsp;take away the guess work when completing task so that employee turnover has less of an impact.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/1044301980618427285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/1044301980618427285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1044301980618427285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1044301980618427285'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2011/11/retaining-senior-staff-software.html' title='Retaining Senior Staff (Software)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-8155408214701870177</id><published>2011-11-15T09:03:00.001-08:00</published><updated>2013-01-15T08:51:18.615-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting"/><title type='text'>nANT C# Assembly Labeller (CruiseControl.NET)</title><content type='html'>If your using CruiseControl.NET for your build automation then your going to implement&amp;nbsp;it&#39;s biggest advantage: Controlled and consistent version labeling.&lt;br /&gt;
&lt;br /&gt;
The example below shows hows to add version labeling to CruiseControl.NET and then access the label in nANT for processing AssemblyInfo.cs files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 1&lt;/strong&gt;:&amp;nbsp; Add the CruiseControl.NET assemblyVersionLabeller to your ccnet.config file. This will provide access to the CCNETLabel environment variable for the rest of your project. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; NOTE: In the example below, major, minor and build are hard coded into ccnet.config file to provide a single point of control, revision will be generated from the source control system.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;CCNET.CONFIG&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 2;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;labeller&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;type&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&quot;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;assemblyVersionLabeller&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;major&lt;/span&gt;&lt;/b&gt;&amp;gt;&lt;strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;major&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 3;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;minor&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;strong&gt;6&lt;/strong&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;minor&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 3;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;build&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;2&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;build&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 3;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;incrementOnFailure&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;false&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;incrementOnFailure&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 2;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;labeller&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 2&lt;/strong&gt;:&amp;nbsp; Create your nANT script to search and update all AssemblyInfo.cs files in your source code. You will have to update the &lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;items basedir&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;..\..\&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&lt;/span&gt;based on the location of your nANT script and your source code.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&amp;nbsp;nANT_AssemblyLabeler.build&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;xml version&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;project name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;setversion&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;default&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;setversion&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;target name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;setversion&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; description&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;Sets the version number to CruiseControl.Net
label.&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;script language&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;C#&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;references&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;include name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;System.dll&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;references&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;imports&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;import &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;namespace&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;System.Text.RegularExpressions&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;imports&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;code&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&amp;lt;!&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;[CDATA[ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;[TaskName(&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;setversion-task&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;)] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;public&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;class&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; SetVersionTask &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;:&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; Task &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;{ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;protected&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;override&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;void&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; ExecuteTask() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;StreamReader reader &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;new&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; StreamReader(Project.Properties[&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;filename&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;]); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;string&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; contents &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;
reader.ReadToEnd(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;reader.Close(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;string&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; replacement &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;[assembly: AssemblyVersion(\&quot;&quot; +
Project.Properties[&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;CCNetLabel&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;] + &quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;\&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;)]&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;string&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; newText &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;
Regex.Replace(contents, @&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;\[assembly:
AssemblyVersion\(&quot;&quot;.*&quot;&quot;\)\]&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;, replacement); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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 style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;string&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; replacement2 &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;[assembly:
AssemblyFileVersion(\&quot;&quot; + Project.Properties[&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;CCNetLabel&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;] +
&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;\&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;)]&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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 style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;string&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; newText2 &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; Regex.Replace(newText , @&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;\[assembly:
AssemblyFileVersion\(&quot;&quot;.*&quot;&quot;\)\]&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;, replacement2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-tab-count: 7;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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 style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;System.Console.WriteLine(&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;Updating Version: &quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;+&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; Project.Properties[&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;CCNetLabel&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;] &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;+&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;,
AssemblyFile : &quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;+&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;
Project.Properties[&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;filename&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;StreamWriter writer &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;new&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; StreamWriter(Project.Properties[&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;filename&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;], &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;false&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;writer.Write(newText2); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;writer.Close(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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;]]&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;code&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;script&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;foreach&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; item&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;File&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; property&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;filename&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;in&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;items basedir&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;..\..\&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;include name&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;=&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&quot;**\AssemblyInfo.cs&quot;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;include&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;items&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;in&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;do&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&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&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;setversion&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;-&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;task &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;do&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;foreach&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;target&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;project&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: #ff8000; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 3&lt;/strong&gt;: Add the following nANT task inside your &amp;lt;tasks&amp;gt; node before compiling the source code to update all AssemblyInfo.cs files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;CCNET.CONFIG&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; mso-pagination: none;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;nant&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\AutomateBuild\nant-0.91\bin\nant.exe&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;executable&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;C:\Source_Trunk\ReleaseManagement\Scripts&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;baseDirectory&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;nologo&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;false&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;nologo&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildFile&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;nANT_AssemblyLabeler.build&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildFile&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildTimeoutSeconds&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;6000&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;buildTimeoutSeconds&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: maroon; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;nant&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/8155408214701870177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/8155408214701870177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8155408214701870177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8155408214701870177'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2011/11/nant-c-assembly-labeler.html' title='nANT C# Assembly Labeller (CruiseControl.NET)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-5112285384803504708</id><published>2011-11-09T05:46:00.000-08:00</published><updated>2013-02-07T04:36:47.325-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="assemblyVersionLabeller"/><category scheme="http://www.blogger.com/atom/ns#" term="Automation"/><category scheme="http://www.blogger.com/atom/ns#" term="continuous integration"/><category scheme="http://www.blogger.com/atom/ns#" term="cruise control"/><category scheme="http://www.blogger.com/atom/ns#" term="innosetup"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><title type='text'>Build Automation</title><content type='html'>One of the most important parts of any development shop is release management, yet it&#39;s amazing that most&amp;nbsp;companies have a fly by the seat of your pants approach. As developer we create our own misery by ignoring this critic task.&amp;nbsp; Nobody cares that the code works on your computer; if there is a problem it should be easy to fix.... AND!!! fixing the issue isn&#39;t adding a line or two of code, checking it in and praying.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Release Management has more to do&amp;nbsp;with outputs rather then code.&amp;nbsp; Constantly producing the same well tested product using the same method each time and tracking all code, symbols, and binary related to that output is critical.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fortunately there are tools available to assist developers with full build automation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE TO PRODUCT\PROJECT MANAGERS:&amp;nbsp;&amp;nbsp; DO NOT!!!&amp;nbsp;expect a junior or intermediate resource to complete this complex task.&amp;nbsp; Also, this is not a one time task it&#39;s&amp;nbsp;a&amp;nbsp;job role to maintain the build process. Changes to the output product that require modifications to the build process have to be completed as required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Like most companies these days, nobody wants to pay money on time, resources, and products if they feel they have been getting along just fine without a real release management process.&amp;nbsp; One of the best tools available is CruiseControl (also CruiseControl.NET). I will be discussing the .NET version of CruiseControl available at &lt;a href=&quot;http://www.cruisecontrolnet.org/projects/ccnet&quot;&gt;http://www.cruisecontrolnet.org/projects/ccnet&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Companies will still have to spend money on a senior resource and the time it takes to&amp;nbsp;setup a continuous integration server, however, time&amp;nbsp;spend on packaging of future releases&amp;nbsp;should be 50 - 70% less.&amp;nbsp;This allows a company to reevaluate their current release schedule and produce releases more frequently.&amp;nbsp; Another major bonus is it removes any possible dependencies on specific resources that have limited availability.&lt;br /&gt;
&lt;br /&gt;
CruiseControl.NET is easy to install and config, the installer is a simple next... next... done process.&amp;nbsp; CruiseControl.NET installs as a windows service and also installs a web dashboard to monitor and control the service (Ensure IIS is already installed on the target computer).&amp;nbsp; Another consideration is security, CruiseControl.NET by default installs under the local host process.&amp;nbsp; I recommend establishing a network domain account and have your administration grant rights to network resources, under windows services, find CruiseControl.NET, click properties, and update the LogOn tab with the network username and password.&amp;nbsp; This will also CruiseControl.NET to operate as a separate identity, publishing outputs to network drives, send status emails,&amp;nbsp;getting\commiting&amp;nbsp;with&amp;nbsp;source control, etc...&lt;br /&gt;
&lt;br /&gt;
CruiseControl.NET&#39;s main configuration file &quot;ccnet.config&quot; is installed in the &quot;server&quot; sub folder. This is where you config all your&amp;nbsp;project,&amp;nbsp; the primary basics of you project are&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Defined your project - name, description, category, working directory&lt;/li&gt;
&lt;li&gt;Source Control - type of source control, locations, security&lt;/li&gt;
&lt;li&gt;Versions Labeler - type of labeler, major, minor, build&lt;/li&gt;
&lt;li&gt;Task - building source code, copying files, etc...&lt;/li&gt;
&lt;li&gt;Publishing - logger, destination locations, email&lt;/li&gt;
&lt;/ol&gt;
The url below contents information on all the possible xml tags available and how to config each one.&lt;br /&gt;
&lt;a href=&quot;http://www.cruisecontrolnet.org/projects/ccnet/wiki/ConfiguringTheServer&quot;&gt;http://www.cruisecontrolnet.org/projects/ccnet/wiki/ConfiguringTheServer&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a good example of a basic project configuration using SVN, Visual Studio, InnoSetup.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - Pulls code from SVN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - Defined a version 1.5.3 (The SVN revision number is appended, Ex:&amp;nbsp;1.5.3.3873)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - nANT script to apply CruiseControl.NET version to AssemblyInfo.cs files&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - Compiles debug and release mode using Visual Studio 2010&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Executes some batch command to move newly compiled files into release structure folders&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - Compiles release&amp;nbsp;into self extracting installer using InnoSetup with a digital signs .exe&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; - Publishes installer to network drive under the version folder \1.5.3.3873\MyInstall.exe&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;(Note: Project compiles and saving symbol files for future support issue, the source code is also tagged to allow remote debugging of issues on non-developement environments.)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;cruisecontrol &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;xmlns:cb=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&quot;urn:ccnet.config.builder&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;project&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt; name=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&quot;MyProduct&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;category&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Products&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/category&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;My awesome product is awesome&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;webURL&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://localhost/ccnet/MyProduct/ViewLatestBuildReport.aspx&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/webURL&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;workingDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/workingDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;sourcecontrol&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt; type=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&quot;svn&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Program Files (x86)\CollabNet\Subversion Client\svn.exe&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;trunkUrl&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;https://192.168.1.2/MyProduct/trunk&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/trunkUrl&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;workingDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/workingDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;username&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;svnUsername&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/username&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;password&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;svnPassword&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/password&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tagOnSuccess&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/tagOnSuccess&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tagBaseUrl&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;https://192.168.1.2/MyProduct/tags&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/tagBaseUrl&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/sourcecontrol&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;labeller&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt; type=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&quot;assemblyVersionLabeller&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;major&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/major&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;minor&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/minor&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;build&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/build&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;incrementOnFailure&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/incrementOnFailure&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/labeller&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;tasks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&amp;lt;!-- LABEL ASSEMBLIES WITH NEW VERSION NUMBER --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;nant&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\Tools\nant-0.91\bin\nant.exe&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct\ReleaseManagement\Scripts&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;nologo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/nologo&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildFile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;nANT_AssemblyLabeler.build&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildFile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;buildTimeoutSeconds&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;6000&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildTimeoutSeconds&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/nant&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- BUILD PRODUCT IN DEBUG MODE --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;devenv&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&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;lt;solutionfile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;MyProduct.sln&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/solutionfile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Release&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VS2010&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/devenv&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- BUILD PRODUCT IN RELEASE MODE --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;devenv&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;solutionfile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;MyProduct.sln&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/solutionfile&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Release&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&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&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VS2010&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/devenv&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;lt;!-- COPY DEBUG OUTPUTS AND ALL SYMBOLS FILES TO DEBUG FOLDER --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Windows\System32\cmd.exe&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct\ReleaseManagement\Debug\1.x\Products&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&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;&lt;span style=&quot;color: green;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;/c CopyFilesForSupporting.bat&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&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=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&amp;lt;!-- BUILD RELEASE ASSEMBLIES TO RELEASE FOLDER WHERE OTHER NON COMPILED REQUIRES FILES EXISTS TO INCLUDING BY INSTALLER --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Windows\System32\cmd.exe&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct\ReleaseManagement\Releases\1.x\Products&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;/c CopyAssembliesToReleaseFolder.bat&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;lt;!-- COMPILE RELEASE FOLDER INTO A SELF EXTRACTING INSTALLER AND DIGITAL SIGN THE FILE --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&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;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Program Files (x86)\Inno Setup 5\ISCC.exe&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/executable&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&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 style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\Dev\MyProduct\ReleaseManagement\Releases\1.x\Products&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/baseDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&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 style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&quot;/SMYSignCode=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\SignTool.exe sign /a /f C:\Dev\MyProduct\ReleaseManagement\My_Code_Signing.pfx /v /t http://timestamp.verisign.com/scripts/timstamp.dll /p mypassword $f&quot; MyInnoSetup.iss&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildArgs&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&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=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/exec&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/tasks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;publishers&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- COPIES DEBUG FOLDER OUTPUTS TO NETWORK AND VERSIONS THE FOLDER (Ex. \Debug\1.5.3.8439\) --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildpublisher&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;sourceDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\MyProduct\ReleaseManagement\Debug\1.x\Products\Output&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/sourceDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;publishDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;\\MyFileServer\1.x\Debug&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/publishDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;useLabelSubDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/useLabelSubDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;alwaysPublish&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/alwaysPublish&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildpublisher&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;!-- COPIES RELEASE FOLDER OUTPUTS TO NETWORK AND VERSIONS THE FOLDER (Ex. \Release\1.5.3.8439\) --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #0080ff; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;buildpublisher&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;sourceDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;C:\MyProduct\ReleaseManagement\Releases\1.x\Products\Output&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/sourceDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;publishDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;\\MyFileServer\1.x\Release&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/publishDir&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;useLabelSubDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/useLabelSubDirectory&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;alwaysPublish&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/alwaysPublish&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&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=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&amp;lt;/buildpublisher&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;xmllogger&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt; logDir=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&quot;C:\Dev\MyProduct\ReleaseManagement\1.x\BuildLogs&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;&amp;lt;/publishers&amp;gt;&lt;/span&gt;&lt;br /&gt;


&lt;br /&gt;
&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/project&amp;gt;&lt;/span&gt;&lt;br /&gt;



　&lt;br /&gt;

&lt;br /&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;lt;/cruisecontrol&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoU4YD5Zlwbe2grXvTy4UvpY63wsOISWAVW9qQQLLW7-PAjgTLQuUoiCC6AFK1RjunGpRk8_nCggIAptf-5Q3Zl9mu4_xFHN67QIma4EvDRYontgEc0K1T2_3ddF-NAsKi8pgkrCFZI38G/s1600/barretr_Gear.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoU4YD5Zlwbe2grXvTy4UvpY63wsOISWAVW9qQQLLW7-PAjgTLQuUoiCC6AFK1RjunGpRk8_nCggIAptf-5Q3Zl9mu4_xFHN67QIma4EvDRYontgEc0K1T2_3ddF-NAsKi8pgkrCFZI38G/s200/barretr_Gear.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/5112285384803504708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/5112285384803504708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/5112285384803504708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/5112285384803504708'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2011/11/build-automation.html' title='Build Automation'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoU4YD5Zlwbe2grXvTy4UvpY63wsOISWAVW9qQQLLW7-PAjgTLQuUoiCC6AFK1RjunGpRk8_nCggIAptf-5Q3Zl9mu4_xFHN67QIma4EvDRYontgEc0K1T2_3ddF-NAsKi8pgkrCFZI38G/s72-c/barretr_Gear.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-8443158540835527650</id><published>2011-11-04T10:16:00.000-07:00</published><updated>2011-11-04T11:55:30.535-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# Coding"/><title type='text'>Reading COM TypeLib GUID at Runtime</title><content type='html'>&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;/*&lt;br /&gt;

 * Every need to read a type library dll to update other reference files. This is often a requirment when working with languages &lt;br /&gt;

 * that don&#39;t control the GUID or you just want to create a generic process.  The example below can easily be turned into a console app&lt;br /&gt;

 * that takes the DLL and Replacement file as command arguments.  I&#39;m using Visual Studio 2010.&lt;br /&gt;

*/&lt;br /&gt;

&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.Collections.Generic;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.IO;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.Linq;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.Runtime.InteropServices;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.Text;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; System.Text.RegularExpressions;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; = System.Runtime.InteropServices.ComTypes.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;namespace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; GUIDReader&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;{&lt;br /&gt;

&lt;br /&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;    {&lt;br /&gt;

&lt;br /&gt;
        [&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;DllImport&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&quot;oleaut32.dll&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;, CharSet = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;CharSet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;.Unicode, PreserveSig = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;)] &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;extern&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;UCOMITypeLib&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; LoadTypeLib(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; szFile);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;const&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; mydll = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;@&quot;D:\mydll.dll&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;const&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; globalasa = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;@&quot;D:\global.asa&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; Main(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;[] args)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;{&lt;br /&gt;

&lt;br /&gt;
           &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; tlibvalue = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;IntPtr&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; ptr;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadTypeLib(imASPdll).GetLibAttr(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;out&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; ptr);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tlibvalue = (&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;Marshal&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;.PtrToStructure(ptr, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;typeof&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;TYPELIBATTR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;));&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;var&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; guidstr = tlibvalue.guid.ToString();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;.WriteLine(guidstr);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: green; font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;S&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;treamReader&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; reader = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;StreamReader&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;(globalasa);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; contents = reader.ReadToEnd();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reader.Close();&lt;br /&gt;


&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;var&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; newvalue = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&quot;NAME=\&quot;NAMEOFLIB\&quot; UUID=\&quot;{&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; + guidstr.ToUpper() + &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&quot;\&quot;}&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;var&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; newText = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;Regex&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;.Replace(contents, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-family: Consolas; font-size: x-small;&quot;&gt;@&quot;NAME=&quot;&quot;NAMEOFLIB&quot;&quot; UUID=&quot;&quot;{.*}&quot;&quot;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;, newvalue);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;StreamWriter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; writer = &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-family: Consolas; font-size: x-small;&quot;&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #2b91af; font-family: Consolas; font-size: x-small;&quot;&gt;StreamWriter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;(globalasa&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Consolas; font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write(newText);&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; writer.Close(); &lt;br /&gt;


&lt;br /&gt;
        }&lt;br /&gt;

&lt;br /&gt;
    }&lt;br /&gt;

&lt;br /&gt;
}&lt;br /&gt;

&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/8443158540835527650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/8443158540835527650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8443158540835527650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/8443158540835527650'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2011/11/every-need-to-read-type-library-dll-to.html' title='Reading COM TypeLib GUID at Runtime'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-5924050656219892819</id><published>2008-05-09T07:12:00.000-07:00</published><updated>2011-11-04T11:55:51.678-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LargeEdit Scripting"/><title type='text'>HTML Style Sections to Inline Style Tags</title><content type='html'>&lt;pre style=&quot;color: #000000&quot;&gt;&lt;code&gt;&lt;span style=&quot;font: 10pt Courier New;&quot;&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//***** LargeEdit Scripting *****&lt;br /&gt;//&lt;br /&gt;// Title:  HTML Style Sections to Inline Style Tags&lt;br /&gt;// Author:  Tim O&#39;Brien&lt;br /&gt;// Date:  May 8, 2008&lt;br /&gt;// Purpose: Performs a JScript regular expression search on the HTML document for&lt;br /&gt;//          style attributes and replace class references.&lt;br /&gt;//&lt;br /&gt;//*******************************&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;&quot;&gt; Run() {&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; scanlines= &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;(.+)\\s\\x7b([^\\x7d]*)&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; scansection=&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&amp;lt;(style).+&amp;gt;(.+)[^\/\1]*&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;    LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; HTML Style Section to Inline Style Tags (Start)&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; styletext;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; inpStr = LargeEdit.CurrentFile.Text;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; newtext = inpStr;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Update InpStr to only Style Sections&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; arrStyle;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; oReSections;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; oRe;&lt;br /&gt;    oReSections = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;&quot;&gt; RegExp(scansection, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;gmi&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; retStr;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; objtag;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; objval;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; classidx;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; classname;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;&quot;&gt; ((arrStyle = oReSections.exec(inpStr)) != &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;&quot;&gt;) {&lt;br /&gt;     styletext = arrStyle[&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;&quot;&gt;];&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;// Get the Matches collection&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;     oRe = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;&quot;&gt; RegExp(scanlines, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;gmi&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;     retStr = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;     objtag = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   objval = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   classidx = -&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   classname = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;     &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;&quot;&gt; ((arr = oRe.exec(styletext)) != &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;&quot;&gt;) {&lt;br /&gt;    &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//retStr = arr[1] + &#39; = &#39; + arr[2];&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;    objtag = arr[&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;&quot;&gt;];&lt;br /&gt;    objval = arr[&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;&quot;&gt;];&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//LargeEdit.ResultLog(retStr);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;       &lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Do Replacement of class ids&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;       classidx = objtag.indexOf(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;       &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;&quot;&gt; (classidx &amp;gt;= &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;&quot;&gt;) {&lt;br /&gt;        classname = objtag.substr(classidx+&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;          LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;Class Tab Found: &#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; + classname);&lt;br /&gt;        newtext = newtext.rep(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;class=&amp;quot;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; + classname + &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&amp;quot;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;style=&amp;quot;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; + objval.trim() + &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&amp;quot;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;  } &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Each Style Section&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  LargeEdit.New();&lt;br /&gt;  LargeEdit.CurrentFile.Text = newtext;&lt;br /&gt;    LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; HTML Style Section to Inline Style Tags (Finish)&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;&quot;&gt; StringReplace(findstr, replacestr) {&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; regEx, strout;&lt;br /&gt;  regEx = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;&quot;&gt; RegExp(findstr, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;igm&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;  strout = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.replace(regEx, replacestr);&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;&quot;&gt; strout;&lt;br /&gt;}&lt;br /&gt;String.&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;prototype&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.rep = StringReplace;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;&quot;&gt; StringTrim()&lt;br /&gt;{&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.replace(/(^\s*)|(\s*$)/g, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;}&lt;br /&gt;String.&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;prototype&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.trim = StringTrim;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//copyright 2008 All rights reserved&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/5924050656219892819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/5924050656219892819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/5924050656219892819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/5924050656219892819'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2008/05/html-style-sections-to-inline-style.html' title='HTML Style Sections to Inline Style Tags'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-4634527558121546204</id><published>2008-05-09T06:50:00.000-07:00</published><updated>2011-11-04T11:55:51.675-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LargeEdit Scripting"/><title type='text'>Delimited Line Template</title><content type='html'>&lt;pre style=&quot;color: #000000&quot;&gt;&lt;code&gt;&lt;span style=&quot;font: 10pt Courier New;&quot;&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//***** LargeEdit Scripting *****&lt;br /&gt;//&lt;br /&gt;// Title:  Delimited Line Template&lt;br /&gt;// Author:  Tim O&#39;Brien&lt;br /&gt;// Date:    May 8, 2008&lt;br /&gt;// Purpose: Merges lines of text containing delimited fields into a template.&lt;br /&gt;//          Usage: Create a SQL insert statement and merge the fields of text&lt;br /&gt;//                 into the correct position for inserting into a database.&lt;br /&gt;//          Example: Insert into table(id, name, date) values ( {F1}, &#39;{F3}&#39;, {F2} );&lt;br /&gt;//                   the field tags {F1} will be replaces with the actual values.&lt;br /&gt;//*******************************&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; Delimiter = &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Tab = 9,  Comma = 44, Pipe = 124.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//(see LargeEdit | Tools | ASCII Codes | View ASCII Code, for a complete list.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;&quot;&gt; Run() {&lt;br /&gt; LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; Start - Delimited Line Template &#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; tmp = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt; tmp = LargeEdit.InputBox(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;Delimited Line Template&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;Enter Template:&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;)&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;&quot;&gt; (tmp.length &amp;lt;= &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;&quot;&gt;) {&lt;br /&gt;    LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; Canceled - Enter a Template &#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Variables used&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; line, newline;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; flds, fld, fldidx, lineidx, findtxt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; newtext = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;  &lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Loop for Lines of text&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; i = &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;&quot;&gt;; i &amp;lt; LargeEdit.CurrentFile.LineCount; i++) {&lt;br /&gt;   line = LargeEdit.CurrentFile.Line( i );&lt;br /&gt;   lineidx = i + &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   flds = line.split(String.fromCharCode(Delimiter)); &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Tab default&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Replace Line Index Reference&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  newline = tmp; &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Reset newline to base template&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  findtxt = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;{LIDX}&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;  newline = newline.rep(findtxt, lineidx);&lt;br /&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Loop for Fields to do replacements&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; j = &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;&quot;&gt;; j &amp;lt; flds.length; j++) {&lt;br /&gt;   fld = flds[j] &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//Get Field Value&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;   fldidx = j + &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   fld = fld.rep(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&#39;&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&#39;&#39;&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;   findtxt = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;{F&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt; + fldidx.toString() + &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39;}&#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;   newline = newline.rep(findtxt, fld);&lt;br /&gt;  }&lt;br /&gt;  newtext += newline + &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;\r\n&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;;&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; LargeEdit.New();&lt;br /&gt; LargeEdit.CurrentFile.Text = newtext;&lt;br /&gt;&lt;br /&gt;  LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; Finish - Delimited Line Template &#39;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;&quot;&gt; StringReplace(findstr, replacestr) {&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;&quot;&gt; regEx, strout;&lt;br /&gt;  regEx = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;&quot;&gt; RegExp(findstr, &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;igm&amp;quot;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;);&lt;br /&gt;  strout = &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.replace(regEx, replacestr);&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;&quot;&gt; strout;&lt;br /&gt;}&lt;br /&gt;String.&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;prototype&lt;/span&gt;&lt;span style=&quot;&quot;&gt;.rep = StringReplace;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic;&quot;&gt;//copyright 2008 All rights reserved&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/4634527558121546204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/4634527558121546204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/4634527558121546204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/4634527558121546204'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2008/05/delimited-line-template.html' title='Delimited Line Template'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-1767426604711019559</id><published>2008-05-08T06:36:00.001-07:00</published><updated>2011-11-04T11:55:51.671-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LargeEdit Scripting"/><title type='text'>Reverse Delimited Field Order</title><content type='html'>&lt;pre style=&quot;color: #000000&quot;&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=&quot;font: 10pt Courier New;&quot;&gt;&lt;span style=&quot;color: #008000; font-style: italic&quot;&gt;//***** LargeEdit Scripting *****&lt;br /&gt;//&lt;br /&gt;// Title:  Reverse Fields&lt;br /&gt;// Author:  Tim O&#39;Brien&lt;br /&gt;// Date:   May 7, 2008&lt;br /&gt;// Purpose: Reverse the order of Delimited Fields in a document.&lt;br /&gt;//     Useful for switch lists like City, State, Country so Sorting&lt;br /&gt;//            by Country, State, City can be preformed.&lt;br /&gt;//&lt;br /&gt;//        From:  Field1, Field2, Field3&lt;br /&gt;//        To:    Field3, Field2, Field1&lt;br /&gt;//&lt;br /&gt;//Note: Delimiter var below is defaulted to &amp;quot;Tab&amp;quot; char 9.&lt;br /&gt;//*******************************&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; Delimiter = &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic&quot;&gt;//Tab = 9,  Comma = 44, Pipe = 124.&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000; font-style: italic&quot;&gt;//(see LargeEdit | Tools | ASCII Codes | View ASCII Code, for a complete list.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; Run() {&lt;br /&gt;&lt;br /&gt;  LargeEdit.ResultLog(&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&#39; Reverse Fields &#39;&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;);&lt;br /&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; line;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; flds;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; newtext = &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;;&lt;br /&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; i = &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;; i &amp;lt; LargeEdit.CurrentFile.LineCount; i++) {&lt;br /&gt;   line = LargeEdit.CurrentFile.Line( i );&lt;br /&gt;   flds = line.split(String.fromCharCode(Delimiter)); &lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic&quot;&gt;//Tab&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; j = flds.length-&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;; j &amp;gt;= &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;; j--) {&lt;br /&gt;   newtext += flds[j]&lt;br /&gt;   &lt;/span&gt;&lt;span style=&quot;color: #0000FF; font-weight: bold;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt; (j &amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;) newtext += String.fromCharCode(Delimiter);&lt;br /&gt;  }&lt;br /&gt;  newtext += &lt;/span&gt;&lt;span style=&quot;color: #008080;&quot;&gt;&amp;quot;\r\n&amp;quot;&lt;/span&gt;&lt;span class=&quot;jscript1-symbol&quot;&gt;;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; LargeEdit.New();&lt;br /&gt; LargeEdit.CurrentFile.Text = newtext;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #008000; font-style: italic&quot;&gt;//copyright 2008 All rights reserved&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/1767426604711019559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/1767426604711019559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1767426604711019559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1767426604711019559'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2008/05/reverse-delimited-field-order.html' title='Reverse Delimited Field Order'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-6681528513914290721</id><published>2008-04-25T09:05:00.000-07:00</published><updated>2011-11-22T08:52:26.042-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Productivity</title><content type='html'>Productivity is number one priority! In IT the productivity of the business depends on the personal productivity of the Staff.&lt;br /&gt;&lt;br /&gt;As programmers we optimize repetitious code by creating libraries, classes, functions, etc... and call that code over and over. However, most of us don&#39;t optimize the tasks and activities we do repeatably.&lt;br /&gt;&lt;br /&gt;There are many activities that fall into this category;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Scanning log files for specific data.&lt;/li&gt;&lt;li&gt;Editing blocks of text to be compatible with other programs or languages.&lt;/li&gt;&lt;li&gt;Analysing code or data for specific patterns&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I&#39;m sure we can all remember a time typing on the keyboard and feeling like a monkey. This is not only a waste of time, it&#39;s boring!!! Wouldn&#39;t it be more rewarding using your brain to find a way to automate that task and complete the work in a fraction of the time?If you have Microsoft Windows, you already have a powerful automation tool installed;&lt;br /&gt;&lt;br /&gt;WScript.exe - This program is installed in your Window\System folder and all *.js and *.vbs files a associated with it. JScript and VBScript are powerful scripting technologies that can be uses to improve your efficiency.&lt;br /&gt;&lt;br /&gt;Visit: &lt;a href=&quot;http://www.microsoft.com/technet/scriptcenter/default.mspx&quot;&gt;http://www.microsoft.com/technet/scriptcenter/default.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is a scripting guide, tools and lots of examples. Check out the script repository, I&#39;m sure you will find something there that would be useful.&lt;br /&gt;&lt;br /&gt;Not everything requires scripting, sometimes a quick, simple keyboard macro will do the trick and stop you from feeling like a monkey. Many programs support keyboard marcos, I suggest LargeEdit ;)</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/6681528513914290721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/6681528513914290721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/6681528513914290721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/6681528513914290721'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2008/04/productivity.html' title='Productivity'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3178603507919442231.post-1298085556928208107</id><published>2008-04-25T07:12:00.000-07:00</published><updated>2013-01-22T04:23:51.055-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type='text'>Introduction</title><content type='html'>My name is Tim O&#39;Brien, I&#39;ve been a professional IT consultant since 1999. However, my experience with computers started in 1987 and I&#39;ve been programming since 1993.&lt;br /&gt;
&lt;br /&gt;
I develop and publish applications such as LargeEdit under the company name &quot;Netlegger Systems Inc&quot; (NSi). I&#39;ve been working contracts since incorporating NSi in 2005, so I haven&#39;t had much time to work on the NSi website. &lt;br /&gt;
&lt;br /&gt;
I recently created the brand &quot;Kyght&quot;, which I use to release mobile applications and games under.&lt;br /&gt;
&lt;br /&gt;
The primary purpose of this blog is for myself.  I spend lots of time doing research to resolve specific programming issues, then years later I&#39;m faced with similar issues.&lt;br /&gt;
&lt;br /&gt;
The postings will vary from analysis to code and will include many different languages and technologies.</content><link rel='replies' type='application/atom+xml' href='http://netlegger.blogspot.com/feeds/1298085556928208107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/3178603507919442231/1298085556928208107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1298085556928208107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3178603507919442231/posts/default/1298085556928208107'/><link rel='alternate' type='text/html' href='http://netlegger.blogspot.com/2008/04/introduction.html' title='Introduction'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09682957070017614565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>