<?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-8132479254774502143</id><updated>2024-12-19T03:20:26.936+00:00</updated><category term="configuration"/><category term="sql"/><category term="alm"/><category term="practices"/><category term="visualstudio"/><category term="patterns"/><category term="tools"/><category term="mvc"/><category term="anti-patterns"/><category term="mobile"/><category term="csharp"/><category term="ef"/><category term="javascript"/><category term="js"/><category term="log4net"/><category term="nant"/><category term="sqlprofiler"/><category term="test"/><category term="webapi"/><category term="wwf"/><category term="xml"/><category term="zxing"/><title type='text'>Ricardo Alves Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-4033020273636012840</id><published>2017-07-19T16:00:00.000+01:00</published><updated>2017-07-19T16:00:20.191+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="mvc"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Aplicação Web para ver os SQL Server Agent Jobs de vários servidores</title><content type='html'>&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: large;&quot;&gt;&lt;b&gt;Problema:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Tenho vários servidores em produção onde correr &lt;i&gt;jobs &lt;/i&gt;críticos&amp;nbsp;e preciso de ver todos os dias se correram bem, se tenho sobreposição na execução dos &lt;i&gt;jobs&lt;/i&gt; e quando é que os &lt;i&gt;jobs &lt;/i&gt;vão ser executados novamente.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Solução:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #24292e;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;Com base nas &lt;/span&gt;&lt;i style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;queries &lt;/i&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;que mostrei nos &lt;/span&gt;&lt;i style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;posts &lt;/i&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;anteriores, criei uma aplicação &lt;/span&gt;&lt;i style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;web &lt;/i&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;em &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;MVC &lt;/span&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;no &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Github &lt;/span&gt;&lt;span style=&quot;font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;que resolve o problema.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;a href=&quot;http://rmlalves.blogspot.pt/2017/07/query-para-obter-historico-dos-jobs-no.html&quot; target=&quot;_blank&quot;&gt;Query para obter histórico dos Jobs no SQL Server Agent&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rmlalves.blogspot.pt/2017/07/query-para-obter-jobs-executar-no-sql.html&quot; target=&quot;_blank&quot;&gt;Query para obter Jobs a executar no SQL Server Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rmlalves.blogspot.pt/2017/07/query-para-obter-data-da-proxima.html&quot; target=&quot;_blank&quot;&gt;Query para obter a data da próxima execução dos Jobs no SQL Server Agent&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #24292e;&quot;&gt;A aplicação está neste URL&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;a href=&quot;https://github.com/rmlalves/sql-agent-schedule-view&quot;&gt;https://github.com/rmlalves/sql-agent-schedule-view&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #24292e;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;Para a usar é preciso configurar os servidores na secção&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;connectionStrings &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;do &lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;web.config&lt;/span&gt;&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt; e depois quando correm a aplicação é só seleccionar&amp;nbsp;os servidores na secção Servers para ver o agendamento agregado e as datas da próxima execução.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;br /&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/AVvXsEiHkhgGbyewr7OLLMm6g7t6wuSiB7GcNzPBZ2kbxuz__1zOOHhM8hzJfpKEwirLzgfQkWlloMhZJmEbApK_xqGiSS8Hbc5dfFfWuU-UsDypsiL6Y4TeFLSc33sKqSsiW-7cQUY8FmePgDg4/s1600/servers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;100&quot; data-original-width=&quot;1018&quot; height=&quot;62&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHkhgGbyewr7OLLMm6g7t6wuSiB7GcNzPBZ2kbxuz__1zOOHhM8hzJfpKEwirLzgfQkWlloMhZJmEbApK_xqGiSS8Hbc5dfFfWuU-UsDypsiL6Y4TeFLSc33sKqSsiW-7cQUY8FmePgDg4/s640/servers.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&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/AVvXsEhuICfNgASEv6CSMigsrv5GG9GmG46B4e1LPkRSb2RnIll4JHa3r0uU75PWmj4H51GTN_yDLeukmRh7-KlB_4TqAtvTErlQe005VY0UPyv-1yd4tGn2Xt-Svs4akxlgQBxwYPzKW-KdL8_J/s1600/job-report-schedule.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;590&quot; data-original-width=&quot;1018&quot; height=&quot;369&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuICfNgASEv6CSMigsrv5GG9GmG46B4e1LPkRSb2RnIll4JHa3r0uU75PWmj4H51GTN_yDLeukmRh7-KlB_4TqAtvTErlQe005VY0UPyv-1yd4tGn2Xt-Svs4akxlgQBxwYPzKW-KdL8_J/s640/job-report-schedule.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;br /&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/AVvXsEhsX6mGZLORiEEte_eaQEqdWodCVm0faAmmIc84s2DIcSi31PT2Z_FHQn_Ft-SqO1x1DeUDLFVfVdmPphe1QwWOysZLPBVq_wqwHIGArcvAcIOIKCeln0J5T64wfYG1uA_yp57bMZTrxmfl/s1600/job-next-run-date.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;590&quot; data-original-width=&quot;1018&quot; height=&quot;370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsX6mGZLORiEEte_eaQEqdWodCVm0faAmmIc84s2DIcSi31PT2Z_FHQn_Ft-SqO1x1DeUDLFVfVdmPphe1QwWOysZLPBVq_wqwHIGArcvAcIOIKCeln0J5T64wfYG1uA_yp57bMZTrxmfl/s640/job-next-run-date.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #24292e; font-family: , &amp;quot;blinkmacsystemfont&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif , &amp;quot;apple color emoji&amp;quot; , &amp;quot;segoe ui emoji&amp;quot; , &amp;quot;segoe ui symbol&amp;quot;;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;O código é disponibilizado &lt;i&gt;as is&lt;/i&gt;, actualmente uso numa aplicação para saber o que acontece em produção nos vários servidores com mais uns pózinhos específicos para o meu caso.&lt;br /&gt;&lt;br /&gt;Se ajudar fixe, mas não dou garantias de nada :)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/4033020273636012840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/07/aplicacao-web-para-ver-os-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4033020273636012840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4033020273636012840'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/07/aplicacao-web-para-ver-os-sql-server.html' title='Aplicação Web para ver os SQL Server Agent Jobs de vários servidores'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHkhgGbyewr7OLLMm6g7t6wuSiB7GcNzPBZ2kbxuz__1zOOHhM8hzJfpKEwirLzgfQkWlloMhZJmEbApK_xqGiSS8Hbc5dfFfWuU-UsDypsiL6Y4TeFLSc33sKqSsiW-7cQUY8FmePgDg4/s72-c/servers.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-5765984706634237264</id><published>2017-07-19T15:00:00.000+01:00</published><updated>2017-07-19T15:00:14.036+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Query para obter a data da próxima execução dos Jobs no SQL Server Agent</title><content type='html'>Esta&amp;nbsp;&lt;i&gt;query&lt;/i&gt;&amp;nbsp;basicamente retorna o que vemos no&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&quot;Job Activity Monitor&quot;&lt;/span&gt;&amp;nbsp;na coluna &lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&quot;Next Run&quot;&lt;/span&gt; do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;SQL Server Agent&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A&amp;nbsp;&lt;i&gt;query&amp;nbsp;&lt;/i&gt;retorna as seguintes colunas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;JobID&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Guid&amp;nbsp;&lt;/span&gt;que identifica o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Name&lt;/span&gt;: Nome do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;StartDate&lt;/span&gt;: Data/hora em que o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&amp;nbsp;vai executar&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10&lt;/pre&gt;
&lt;/td&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt; 
     sysjobs.job_id &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; JobId
    ,sysjobs.name &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; Name
    ,&lt;span style=&quot;color: blue;&quot;&gt;MAX&lt;/span&gt;(sysjobactivity.next_scheduled_run_date) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; StartDate
&lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; msdb.dbo.sysjobs
&lt;span style=&quot;color: blue;&quot;&gt;INNER&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;JOIN&lt;/span&gt; msdb.dbo.sysjobactivity &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt; (sysjobactivity.job_id = sysjobs.job_id)
&lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; sysjobactivity.next_scheduled_run_date &amp;gt; GETDATE()
&lt;span style=&quot;color: blue;&quot;&gt;GROUP&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;BY&lt;/span&gt; 
     sysjobs.job_id
    ,sysjobs.name 
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/5765984706634237264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-data-da-proxima.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5765984706634237264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5765984706634237264'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-data-da-proxima.html' title='Query para obter a data da próxima execução dos Jobs no SQL Server Agent'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-6611078396325338504</id><published>2017-07-19T14:00:00.000+01:00</published><updated>2017-07-19T14:00:10.886+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Query para obter Jobs a executar no SQL Server Agent</title><content type='html'>Esta&amp;nbsp;&lt;i&gt;query&lt;/i&gt;&amp;nbsp;basicamente retorna o que vemos no&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&quot;Job Activity Monitor&quot;&lt;/span&gt;&amp;nbsp;do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;SQL Server Agent&lt;/span&gt;&amp;nbsp;com mais uns pózinhos :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A&amp;nbsp;&lt;i&gt;query&amp;nbsp;&lt;/i&gt;retorna as seguintes colunas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;JobID&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Guid&amp;nbsp;&lt;/span&gt;que identifica o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Name&lt;/span&gt;: Nome do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;StartDate&lt;/span&gt;: Data/hora em que o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;começou&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;EndDate&lt;/span&gt;: Data/hora em que o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;terminou&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Duration&lt;/span&gt;: Duração do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;em segundos&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ResultStatus&lt;/span&gt;: Resultado da execução do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ResultMessage&lt;/span&gt;: Mensagem com os detalhes do resultado da execução do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12&lt;/pre&gt;
&lt;/td&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt; 
     sysjobs.job_id &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; JobID
    ,sysjobs.name &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; Name
    ,sysjobactivity.start_execution_date &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; StartDate
    ,GETDATE() &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; EndDate
    ,DATEDIFF(&lt;span style=&quot;color: blue;&quot;&gt;SECOND&lt;/span&gt;, sysjobactivity.start_execution_date, GETDATE()) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; Duration
    ,&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;Running&#39;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; ResultStatus
    ,&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;The job is running...&#39;&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; ResultMessage
&lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; msdb.dbo.sysjobs
&lt;span style=&quot;color: blue;&quot;&gt;INNER&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;JOIN&lt;/span&gt; msdb.dbo.sysjobactivity &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt; (sysjobactivity.job_id = sysjobs.job_id)
&lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; sysjobactivity.job_history_id &lt;span style=&quot;color: blue;&quot;&gt;IS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;NULL&lt;/span&gt;
    &lt;span style=&quot;color: blue;&quot;&gt;AND&lt;/span&gt; sysjobactivity.start_execution_date &lt;span style=&quot;color: blue;&quot;&gt;IS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;NOT&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;NULL&lt;/span&gt;
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/6611078396325338504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-jobs-executar-no-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6611078396325338504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6611078396325338504'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-jobs-executar-no-sql.html' title='Query para obter Jobs a executar no SQL Server Agent'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-31894585952631213</id><published>2017-07-19T13:00:00.000+01:00</published><updated>2017-07-19T13:00:04.501+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Query para obter histórico dos Jobs no SQL Server Agent</title><content type='html'>Esta &lt;i&gt;query&lt;/i&gt; basicamente retorna o que vemos no &lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&quot;View History&quot;&lt;/span&gt; do &lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;SQL Server Agent&lt;/span&gt;&amp;nbsp;com mais uns pózinhos :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A&amp;nbsp;&lt;i&gt;query&amp;nbsp;&lt;/i&gt;retorna as seguintes colunas:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;JobID&lt;/span&gt;:&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Guid&amp;nbsp;&lt;/span&gt;que identifica o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Name&lt;/span&gt;: Nome do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;StartDate&lt;/span&gt;: Data/hora em que o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;começou&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;EndDate&lt;/span&gt;: Data/hora em que o&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;terminou&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Duration&lt;/span&gt;: Duração do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&amp;nbsp;&lt;/span&gt;em segundos&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ResultStatus&lt;/span&gt;: Resultado da execução do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ResultMessage&lt;/span&gt;: Mensagem com os detalhes do resultado da execução do&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Job&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34&lt;/pre&gt;
&lt;/td&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt; 
     sysjobs.job_id &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; JobID
    ,sysjobs.name &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; Name
    ,&lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(
        &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_date &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR) 
        + &lt;span style=&quot;color: #a31515;&quot;&gt;&#39; &#39;&lt;/span&gt; 
        + STUFF(STUFF(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_time &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 3, 0, &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:&#39;&lt;/span&gt;), 6, 0, &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:&#39;&lt;/span&gt;)
    &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; DATETIME) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; StartDate
    ,DATEADD(HOUR, &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 1, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT)
        ,DATEADD(&lt;span style=&quot;color: blue;&quot;&gt;MINUTE&lt;/span&gt;, &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 3, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT)
            ,DATEADD(&lt;span style=&quot;color: blue;&quot;&gt;SECOND&lt;/span&gt;, &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 5, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT)
                ,&lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(
                    &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_date &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR) 
                    + &lt;span style=&quot;color: #a31515;&quot;&gt;&#39; &#39;&lt;/span&gt; 
                    + STUFF(STUFF(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_time &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 3, 0, &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:&#39;&lt;/span&gt;), 6, 0, &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;:&#39;&lt;/span&gt;)
                &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; DATETIME)
            )
        )
    ) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; EndDate
    ,(
        &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 1, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT) * 3600 &lt;span style=&quot;color: green;&quot;&gt;-- HOURS&lt;/span&gt;
      + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 3, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT) * 60   &lt;span style=&quot;color: green;&quot;&gt;-- MINUTES&lt;/span&gt;
      + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;SUBSTRING&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;RIGHT&lt;/span&gt;(&lt;span style=&quot;color: #a31515;&quot;&gt;&#39;000000&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_duration &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR), 6), 5, 2) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; INT)        &lt;span style=&quot;color: green;&quot;&gt;-- SECONDS&lt;/span&gt;
    ) &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; Duration
    ,&lt;span style=&quot;color: blue;&quot;&gt;CASE&lt;/span&gt; 
        &lt;span style=&quot;color: blue;&quot;&gt;WHEN&lt;/span&gt; sysjobhistory.run_status = 0 &lt;span style=&quot;color: blue;&quot;&gt;THEN&lt;/span&gt; &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;Failed&#39;&lt;/span&gt;
        &lt;span style=&quot;color: blue;&quot;&gt;WHEN&lt;/span&gt; sysjobhistory.run_status = 1 &lt;span style=&quot;color: blue;&quot;&gt;THEN&lt;/span&gt; &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;Success&#39;&lt;/span&gt;
        &lt;span style=&quot;color: blue;&quot;&gt;WHEN&lt;/span&gt; sysjobhistory.run_status = 4 &lt;span style=&quot;color: blue;&quot;&gt;THEN&lt;/span&gt; &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;Running&#39;&lt;/span&gt;
        &lt;span style=&quot;color: blue;&quot;&gt;ELSE&lt;/span&gt; &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;Others (&#39;&lt;/span&gt; + &lt;span style=&quot;color: blue;&quot;&gt;CAST&lt;/span&gt;(sysjobhistory.run_status &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; VARCHAR) + &lt;span style=&quot;color: #a31515;&quot;&gt;&#39;)&#39;&lt;/span&gt;
    &lt;span style=&quot;color: blue;&quot;&gt;END&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; ResultStatus
    ,sysjobhistory.[message] &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; ResultMessage
&lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; msdb.dbo.sysjobs
&lt;span style=&quot;color: blue;&quot;&gt;INNER&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;JOIN&lt;/span&gt; msdb.dbo.sysjobhistory &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt; (sysjobhistory.job_id = sysjobs.job_id)
&lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; sysjobhistory.step_id = 0 &lt;span style=&quot;color: green;&quot;&gt;-- GET JOB RESULT&lt;/span&gt;
&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/31894585952631213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-historico-dos-jobs-no.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/31894585952631213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/31894585952631213'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/07/query-para-obter-historico-dos-jobs-no.html' title='Query para obter histórico dos Jobs no SQL Server Agent'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-5866964289729305988</id><published>2017-03-14T17:25:00.002+00:00</published><updated>2017-03-14T17:25:11.089+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><title type='text'>Visual Studio 2017: Como criar um installer offline a partir de um Installer Web</title><content type='html'>Como já é habitual na Microsoft Visual Studio novo, mudam as formas de fazer as coisas (&lt;a href=&quot;https://rmlalves.blogspot.pt/2014/02/como-criar-um-installer-offline-para-o.html&quot;&gt;Como criar um installer offline para o Visual Studio a partir de um Installer Web&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Para se criar um &lt;i&gt;offline installer&lt;/i&gt; agora temos de usar outros parâmetros:&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/AVvXsEiXrgfq3D-sjQtPoE2Sbpq1n-MvjMzBo39KmIJMIW8PaEkwZlvheLuGLfYBo0UiK8hJj5u0EO-ytds1ZLcXTYdDglFeTBAWmnM3LiV-eZtzheU418OCgui-hhXx1eZTJng-DKy4eq61hMkK/s1600/vs_offline.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/AVvXsEiXrgfq3D-sjQtPoE2Sbpq1n-MvjMzBo39KmIJMIW8PaEkwZlvheLuGLfYBo0UiK8hJj5u0EO-ytds1ZLcXTYdDglFeTBAWmnM3LiV-eZtzheU418OCgui-hhXx1eZTJng-DKy4eq61hMkK/s640/vs_offline.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isto ele faz &lt;i&gt;download&lt;/i&gt; dos pacotes para a directoria onde estamos:&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/AVvXsEjntvnRaBJPo6PKinJfeFbccYvynIBYxTyFj70aIMbjmHjw4LJ-pdezyKbZrLvx-mhhFRTNIwWOqIfDaiEkyC6N83pN3jYGdR1_v_ZZ8PH7X5CcOPqHptqT2xot8ul_6y2y_Ny4Izfuyksf/s1600/vs_downloading.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;324&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjntvnRaBJPo6PKinJfeFbccYvynIBYxTyFj70aIMbjmHjw4LJ-pdezyKbZrLvx-mhhFRTNIwWOqIfDaiEkyC6N83pN3jYGdR1_v_ZZ8PH7X5CcOPqHptqT2xot8ul_6y2y_Ny4Izfuyksf/s640/vs_downloading.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
De notar que ele faz &lt;i&gt;download&lt;/i&gt; do executável novamente, dai a linha a vermelho (e não quiserem ter essa linha de erro podem sempre indicar uma pasta de destino no fim do comando). Depois de ele acabar o download dos pacotes todos basta duplo &lt;i&gt;click &lt;/i&gt;no executável para fazer a instalação em modo &lt;i&gt;offline&lt;/i&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/AVvXsEhaSNgxm__mMjdfWkxs7-KHgXcMMw6d2loXCRsVnCzNYgi_r5LzWzS35O0S3Yk4I3zUB6-fPP2KuFFCLkYxsJhVAuxEM3QbS4IdPbdbd5O9DK3ApcVwQ2QUuTQeWLeRS4tOVVZZ7WK3MFYl/s1600/vs_downloaded.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;338&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaSNgxm__mMjdfWkxs7-KHgXcMMw6d2loXCRsVnCzNYgi_r5LzWzS35O0S3Yk4I3zUB6-fPP2KuFFCLkYxsJhVAuxEM3QbS4IdPbdbd5O9DK3ApcVwQ2QUuTQeWLeRS4tOVVZZ7WK3MFYl/s640/vs_downloaded.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio&quot;&gt;Create an offline installer for Visual Studio 2017&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/5866964289729305988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/03/visual-studio-2017-como-criar-um.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5866964289729305988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5866964289729305988'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/03/visual-studio-2017-como-criar-um.html' title='Visual Studio 2017: Como criar um installer offline a partir de um Installer Web'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXrgfq3D-sjQtPoE2Sbpq1n-MvjMzBo39KmIJMIW8PaEkwZlvheLuGLfYBo0UiK8hJj5u0EO-ytds1ZLcXTYdDglFeTBAWmnM3LiV-eZtzheU418OCgui-hhXx1eZTJng-DKy4eq61hMkK/s72-c/vs_offline.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-6336336551655940542</id><published>2017-03-14T16:49:00.000+00:00</published><updated>2017-03-14T16:51:19.543+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><category scheme="http://www.blogger.com/atom/ns#" term="wwf"/><title type='text'>Visual Studio 2017: Projectos Windows Workflow Foundation não suportados</title><content type='html'>Depois de instalar o Visual Studio 2017 Enterprise os projectos com Windows Workflow Foundation não estavam a ser migrados correctamente:&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/AVvXsEhZ53VqlRKbUWMRveoHUTEtPeDg8L0n7km-fbwXhj_3Vkmhk98t0QIGeStYs2UYVpunPSNDqe_rYnOJ-ovPXficikRvr-Uw7ie5RH7unTcpuEwSFt7EEV1ouJczVecllAnpf1FiDm9T7zVI/s1600/visual_studio_migration_failed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;129&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ53VqlRKbUWMRveoHUTEtPeDg8L0n7km-fbwXhj_3Vkmhk98t0QIGeStYs2UYVpunPSNDqe_rYnOJ-ovPXficikRvr-Uw7ie5RH7unTcpuEwSFt7EEV1ouJczVecllAnpf1FiDm9T7zVI/s640/visual_studio_migration_failed.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Para resolver temos de ir ao Visual Studio Installer:&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/AVvXsEilfMqMm3c2Vb-JulQXB2hXAAD8cynZCEOfrUxREu2dP7DXd8qpi55lb0uT9KOFcMDzFEGNC4BucUPXxLCy2N52m_0WFFrOc2Bwsz0fynBVY8_0cANZT0OAQ9UcH2B5E6vlakQGSwCN3j0P/s1600/visual_studio_installer_search.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilfMqMm3c2Vb-JulQXB2hXAAD8cynZCEOfrUxREu2dP7DXd8qpi55lb0uT9KOFcMDzFEGNC4BucUPXxLCy2N52m_0WFFrOc2Bwsz0fynBVY8_0cANZT0OAQ9UcH2B5E6vlakQGSwCN3j0P/s320/visual_studio_installer_search.png&quot; width=&quot;286&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Modificar a instalação actual:&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/AVvXsEjxCcDnA2MyMeo1o6KO9Kd5BMRHljoppJ2nq6jcxF7_w50JgDTU6n2zyRJ1YtnMaUk3T-VjTqdL28kn49Sxg8krgREFvWZaEd1BhL9WAzcq8CshapM93m6oTlXowuKPOmJFhIrX-m6z_lmI/s1600/visual_studio_installer_pick_option_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;355&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxCcDnA2MyMeo1o6KO9Kd5BMRHljoppJ2nq6jcxF7_w50JgDTU6n2zyRJ1YtnMaUk3T-VjTqdL28kn49Sxg8krgREFvWZaEd1BhL9WAzcq8CshapM93m6oTlXowuKPOmJFhIrX-m6z_lmI/s640/visual_studio_installer_pick_option_1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
E adicionar a opção &quot;Web &amp;amp; Cloud → Office/SharePoint development&quot;:&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/AVvXsEhfHflaD8prx5CB7vNskzHlaNzR1HR3nqK4SWDofe8IPceAKLIbVDJIak580FsDuqPuLDfcaQrbXKr0zPvArhva_BuhTZuxO5mAHc985GvBgI01P6UzimpAPyiz9a_REqNJinmqmFwImsNQ/s1600/visual_studio_installer_pick_option_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;394&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfHflaD8prx5CB7vNskzHlaNzR1HR3nqK4SWDofe8IPceAKLIbVDJIak580FsDuqPuLDfcaQrbXKr0zPvArhva_BuhTZuxO5mAHc985GvBgI01P6UzimpAPyiz9a_REqNJinmqmFwImsNQ/s640/visual_studio_installer_pick_option_2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
E depois já conseguem migrar/abrir os projectos e workflow:&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/AVvXsEi1pudbaJJGIYPbipGInBhEiz-SSePDfKYCBwXTEkLPT_y3R_50brqM647GxgwT_duEotvts7HjEw6LIiw9h7dssRvVgwUgurJUA6kv-8loLuhY_Gq5ZJz9jNvHq8C-YkjXC43AqO87B0DU/s1600/visual_studio_wf_opened.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;380&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1pudbaJJGIYPbipGInBhEiz-SSePDfKYCBwXTEkLPT_y3R_50brqM647GxgwT_duEotvts7HjEw6LIiw9h7dssRvVgwUgurJUA6kv-8loLuhY_Gq5ZJz9jNvHq8C-YkjXC43AqO87B0DU/s640/visual_studio_wf_opened.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://code-coverage.net/windows-workflow-foundation-build-errors-in-visual-studio-2017/&quot; target=&quot;_blank&quot;&gt;WINDOWS WORKFLOW FOUNDATION BUILD ERRORS IN VISUAL STUDIO 2017&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/6336336551655940542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2017/03/visual-studio-2017-projectos-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6336336551655940542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6336336551655940542'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2017/03/visual-studio-2017-projectos-windows.html' title='Visual Studio 2017: Projectos Windows Workflow Foundation não suportados'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ53VqlRKbUWMRveoHUTEtPeDg8L0n7km-fbwXhj_3Vkmhk98t0QIGeStYs2UYVpunPSNDqe_rYnOJ-ovPXficikRvr-Uw7ie5RH7unTcpuEwSFt7EEV1ouJczVecllAnpf1FiDm9T7zVI/s72-c/visual_studio_migration_failed.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-3106737561114954480</id><published>2016-05-23T14:17:00.001+01:00</published><updated>2016-05-23T14:17:37.300+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="csharp"/><category scheme="http://www.blogger.com/atom/ns#" term="mvc"/><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><title type='text'>Activar funcionalidades C# 6.0 num projecto MVC5</title><content type='html'>Os projectos MVC criados antes do lançamento do Visual Studio 2015 não fazem uso do novo compilador de C# Roslyn, logo não temos as funcionalidades novas de C# 6.0&lt;br /&gt;
&lt;br /&gt;
Para podermos usar as novas funcionalidades basta instalarmos o nuget package to Roslyn no project MVC&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/&quot; target=&quot;_blank&quot;&gt;CodeDOM Providers for .NET Compiler Platform (&quot;Roslyn&quot;)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos usar a opção &quot;Manage NuGet Packages...&quot; quando fazemos um &lt;i&gt;right click&lt;/i&gt; no projecto web:&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/AVvXsEhf1bHicn9VCb0V3bBLOWzLpFwJV4sPRZ1-iQh-FPMgZKkXnrJgKC3JTve14R_p0f03VVEud7xTmOANvfP2C5YYMl4PuLAgNks10TpKcJJTlIXjUog8yScztZv0zxH8TiaDHpf3bcHygCP7/s1600/Activar+funcionalidades+C%2523+6+.0+no+MVC5+01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf1bHicn9VCb0V3bBLOWzLpFwJV4sPRZ1-iQh-FPMgZKkXnrJgKC3JTve14R_p0f03VVEud7xTmOANvfP2C5YYMl4PuLAgNks10TpKcJJTlIXjUog8yScztZv0zxH8TiaDHpf3bcHygCP7/s320/Activar+funcionalidades+C%2523+6+.0+no+MVC5+01.png&quot; width=&quot;163&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou podemos ir pela consola (Tools&amp;nbsp;→&amp;nbsp;NuGet Package Manager&amp;nbsp;→ Package Manager Console)&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/AVvXsEj26jSoR2TAtSkmTzAzYA7wCFg2QDUjMxjXfwuIHdPk45NIBF_znqLs9xY0Svcg7oPMW6UmGUASsPSoFUt_uSrsoNbxpXof0SukNx8r5RCK_KhjdZ1HSknE1fljN2nbeb2fa8QXNzvEMhg7/s1600/Activar+funcionalidades+C%2523+6+.0+no+MVC5+02.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj26jSoR2TAtSkmTzAzYA7wCFg2QDUjMxjXfwuIHdPk45NIBF_znqLs9xY0Svcg7oPMW6UmGUASsPSoFUt_uSrsoNbxpXof0SukNx8r5RCK_KhjdZ1HSknE1fljN2nbeb2fa8QXNzvEMhg7/s320/Activar+funcionalidades+C%2523+6+.0+no+MVC5+02.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
E depois correr a instrução de instalação do pacote:&lt;br /&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;PM&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Install&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Package&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Microsoft&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;CodeDom&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Providers&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;DotNetCompilerPlatform&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/27968963/c-sharp-6-0-features-not-working-with-visual-studio-2015#31548221&quot; target=&quot;_blank&quot;&gt;C# 6.0 Features Not Working with Visual Studio 2015&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/3106737561114954480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2016/05/activar-funcionalidades-c-60-num.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/3106737561114954480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/3106737561114954480'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2016/05/activar-funcionalidades-c-60-num.html' title='Activar funcionalidades C# 6.0 num projecto MVC5'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf1bHicn9VCb0V3bBLOWzLpFwJV4sPRZ1-iQh-FPMgZKkXnrJgKC3JTve14R_p0f03VVEud7xTmOANvfP2C5YYMl4PuLAgNks10TpKcJJTlIXjUog8yScztZv0zxH8TiaDHpf3bcHygCP7/s72-c/Activar+funcionalidades+C%2523+6+.0+no+MVC5+01.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-7111255394853337017</id><published>2014-06-04T09:30:00.000+01:00</published><updated>2014-06-04T09:30:00.684+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Formatador de T-SQL &quot;para os pobres&quot;</title><content type='html'>Um &lt;i&gt;developer&lt;/i&gt; deve sempre usar um conjunto de &lt;i&gt;coding standards&lt;/i&gt; de forma a que o código siga sempre as mesmas convenções facilitando a sua leitura e compreensão.&lt;br /&gt;
&lt;br /&gt;
A nível do &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Visual Studio&lt;/span&gt; nunca tive muitos problemas, mas a nível do &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;T-SQL&lt;/span&gt; ... a historia é outra. Uma ferramenta que ajuda e muito é o &lt;i&gt;addin&lt;/i&gt; &quot;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Poor Mans T-SQL&lt;/span&gt;&quot; que implementa os &lt;i&gt;coding standards&lt;/i&gt; definidos por Steven Bates numa série de &lt;i&gt;posts&lt;/i&gt; nos &lt;a href=&quot;http://blogs.msdn.com/b/steven_bates/archive/tags/sql+2005+_2d00_+coding+standards/&quot; target=&quot;_blank&quot;&gt;MSDN Blogs&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Este &lt;i&gt;addin&lt;/i&gt; está disponível neste &lt;a href=&quot;http://architectshack.com/PoorMansTSqlFormatter.ashx&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt; de várias formas: Stand alone app, Notepad++ addin, online, ...&lt;br /&gt;
&lt;br /&gt;
Depois de instalado basta abrir/reiniciar o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SQL Server Management Studio&lt;/span&gt;, e o &lt;i&gt;addin&lt;/i&gt; está disponível no menu &lt;i&gt;Tools&lt;/i&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://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkNZUs1rKOKDI1pAMbm4QY-RRGNXGAeBWqNeZYAU5crp56FBWOz-e6oRaVJPqS2vsksvJ_-s099i-Eb-uQ05T6NsW02_PxX50mjJx46X0YvZT9DWfyN0BejJg5I5EygJwhHCMmmLAmbAUX/s1600/Poor+Mans+T-SQL+formatter.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/AVvXsEgkNZUs1rKOKDI1pAMbm4QY-RRGNXGAeBWqNeZYAU5crp56FBWOz-e6oRaVJPqS2vsksvJ_-s099i-Eb-uQ05T6NsW02_PxX50mjJx46X0YvZT9DWfyN0BejJg5I5EygJwhHCMmmLAmbAUX/s1600/Poor+Mans+T-SQL+formatter.png&quot; height=&quot;295&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://xprog.blogspot.pt/2014/05/poor-mans-t-sql-formatter.html&quot; target=&quot;_blank&quot;&gt;Poor Mans T-SQL formatter&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/7111255394853337017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/06/formatador-de-t-sql-para-os-pobres.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7111255394853337017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7111255394853337017'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/06/formatador-de-t-sql-para-os-pobres.html' title='Formatador de T-SQL &quot;para os pobres&quot;'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkNZUs1rKOKDI1pAMbm4QY-RRGNXGAeBWqNeZYAU5crp56FBWOz-e6oRaVJPqS2vsksvJ_-s099i-Eb-uQ05T6NsW02_PxX50mjJx46X0YvZT9DWfyN0BejJg5I5EygJwhHCMmmLAmbAUX/s72-c/Poor+Mans+T-SQL+formatter.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-4795529531244183065</id><published>2014-05-28T09:30:00.000+01:00</published><updated>2014-05-28T09:30:01.079+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="patterns"/><title type='text'>Correr um serviço windows como uma aplicação de consola</title><content type='html'>&lt;br /&gt;
Um dos problemas comuns quando se desenvolvem setrviços &lt;i&gt;windows&lt;/i&gt; é conseguir fazer &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;debug&lt;/span&gt; a eles... Ou fazemos um &lt;i&gt;attach process&lt;/i&gt; e corremos o risco de apanhar o processo já a meio da sua execução ou então criar um projecto consola aparte só para este efeito.&lt;br /&gt;
&lt;br /&gt;
Uma forma de facilmente usar o mesmo projecto para correr o serviço &lt;i&gt;windows&lt;/i&gt; ou conseguir lançar como um projecto consola é usar uma &lt;i&gt;flag&lt;/i&gt; de ambiente que nos indica se estamos a correr no contexto do &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;visual studio&lt;/span&gt; ou não.&lt;br /&gt;
&lt;br /&gt;
Para isso basta seguir este pequeno &lt;i&gt;template&lt;/i&gt; e conseguimos correr o projecto com um F5 e fazer &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;debug&lt;/span&gt; ao código ou então usar o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;InstallUtil&lt;/span&gt; e instalar o projecto como um serviço &lt;i&gt;windows&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; public static int Main(string[] args)  
 {  
  if (!Environment.UserInteractive)  
  {  
   // Startup as service.  
  }  
  else  
  {  
   // Startup as application  
  }  
 }  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/125964/easier-way-to-start-debugging-a-windows-service-in-c-sharp#126163&quot; target=&quot;_blank&quot;&gt;Easier way to start debugging a windows service in C#&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/4795529531244183065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/05/correr-um-servico-windows-como-uma.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4795529531244183065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4795529531244183065'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/05/correr-um-servico-windows-como-uma.html' title='Correr um serviço windows como uma aplicação de consola'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-4183352681108888165</id><published>2014-04-30T09:30:00.000+01:00</published><updated>2014-04-30T09:30:00.618+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Pedir previlégios de administrador a partir dum ficheiro bat</title><content type='html'>Normalmente quando crio &lt;i&gt;scripts&lt;/i&gt; para automatizar algumas tarefas de &lt;i&gt;build&lt;/i&gt;\&lt;i&gt;deploy&lt;/i&gt; tenho sempre de avisar as pessoas parta não se esquecerem de correr com privilégios de administrador.&lt;br /&gt;
&lt;br /&gt;
Para evitar problemas porque se esquecem ou porque eu me esqueço de avisar estive a procura e encontrei este &lt;i&gt;script&lt;/i&gt; para fazer a verificação se esta a correr num contexto de administrador e caso não esteja lançar a janela de UAC (User Account Control) do windows.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; @echo off  
   
 :: BatchGotAdmin  
 :-------------------------------------  
 REM --&amp;gt; Check for permissions  
 &amp;gt;nul 2&amp;gt;&amp;amp;1 &quot;%SYSTEMROOT%\system32\cacls.exe&quot; &quot;%SYSTEMROOT%\system32\config\system&quot;  
   
 REM --&amp;gt; If error flag set, we do not have admin.  
 if &#39;%errorlevel%&#39; NEQ &#39;0&#39; (  
   echo Requesting administrative privileges...  
   goto UACPrompt  
 ) else ( goto gotAdmin )  
   
 :UACPrompt  
   echo Set UAC = CreateObject^(&quot;Shell.Application&quot;^) &amp;gt; &quot;%temp%\getadmin.vbs&quot;  
   set params = %*:&quot;=&quot;&quot;  
   echo UAC.ShellExecute &quot;cmd.exe&quot;, &quot;/c %~s0 %params%&quot;, &quot;&quot;, &quot;runas&quot;, 1 &amp;gt;&amp;gt; &quot;%temp%\getadmin.vbs&quot;  
   
   &quot;%temp%\getadmin.vbs&quot;  
   del &quot;%temp%\getadmin.vbs&quot;  
   exit /B  
   
 :gotAdmin  
   pushd &quot;%CD%&quot;  
   CD /D &quot;%~dp0&quot;  
 :--------------------------------------  
   
 &amp;lt;YOUR BATCH SCRIPT HERE&amp;gt;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Assim mesmo que façam um duplo &lt;i&gt;click&lt;/i&gt; e corram o &lt;i&gt;script&lt;/i&gt; ele vai pedir privilégios de administrador! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FONTE:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/1894967/how-to-request-administrator-access-inside-a-batch-file#10052222&quot; target=&quot;_blank&quot;&gt;How to request Administrator access inside a batch file&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/4183352681108888165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/04/pedir-previlegios-de-administrador.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4183352681108888165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4183352681108888165'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/04/pedir-previlegios-de-administrador.html' title='Pedir previlégios de administrador a partir dum ficheiro bat'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-6566935470528894401</id><published>2014-04-23T09:30:00.000+01:00</published><updated>2014-04-23T09:30:01.230+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><title type='text'>Visual Studio 2013: &#39;Could not evaluate Expression&#39; Debugger Abnormality</title><content type='html'>Nos últimos tempos tenho usado o VS2013 para fazer &lt;i&gt;debug&lt;/i&gt; de aplicações em WebForms\MVC e reparei que algures no meio parece que perdi a capacidade de ver o valor das variáveis na janela de &lt;i&gt;watch&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Na janela de &lt;i&gt;watch &lt;/i&gt;as variáveis aparecem-me sempre com o valor &quot;Could not evaluate Expression&quot; o que torna todo o &lt;i&gt;debug &lt;/i&gt;um bocado complicado ...&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/AVvXsEgiW9u6lDDMaxtnrfPe6tkCcYI5t6ViA8-UHb-qenLkDsvvlkiCx-M4A4Qw9sVOqO8QDtS7l9BKi3KNYQ9S0SIZ90Csk7zkoCIWpXrneM9BgISrL7dhijrNBhoB63kkcsDwMdVEfp1hNV9r/s1600/eYFXw%5B1%5D.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/AVvXsEgiW9u6lDDMaxtnrfPe6tkCcYI5t6ViA8-UHb-qenLkDsvvlkiCx-M4A4Qw9sVOqO8QDtS7l9BKi3KNYQ9S0SIZ90Csk7zkoCIWpXrneM9BgISrL7dhijrNBhoB63kkcsDwMdVEfp1hNV9r/s1600/eYFXw%5B1%5D.png&quot; height=&quot;115&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Depois de algumas pesquisas encontrei a solução, basta ir a Tools -&amp;gt; Options -&amp;gt; Debugging -&amp;gt; General e activar a opção &quot;Use Managed Compatibility Mode&quot;&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/AVvXsEgpxqvqvxn_bu_jP37OhTr5jlBPprwyc2fFos2mY-tTk4Y7zawI4rN_6So-62OfTojiRNA9fsqSxbJTMY0S7xX4kcf2hGQ6iJ1K3YVE5vWwUu5KUPrbCXkIdTI4nzpQAH8Xc1YEznREqeVl/s1600/use_managed_compatibility_mode.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/AVvXsEgpxqvqvxn_bu_jP37OhTr5jlBPprwyc2fFos2mY-tTk4Y7zawI4rN_6So-62OfTojiRNA9fsqSxbJTMY0S7xX4kcf2hGQ6iJ1K3YVE5vWwUu5KUPrbCXkIdTI4nzpQAH8Xc1YEznREqeVl/s1600/use_managed_compatibility_mode.png&quot; height=&quot;232&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
E pronto, já tenho os valores das variáveis na janela de &lt;i&gt;watch &lt;/i&gt;:)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality&quot; target=&quot;_blank&quot;&gt;Visual Studio 2013 &#39;Could not evaluate Expression&#39; Debugger Abnormality&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/6566935470528894401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/04/visual-studio-2013-could-not-evaluate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6566935470528894401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6566935470528894401'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/04/visual-studio-2013-could-not-evaluate.html' title='Visual Studio 2013: &#39;Could not evaluate Expression&#39; Debugger Abnormality'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiW9u6lDDMaxtnrfPe6tkCcYI5t6ViA8-UHb-qenLkDsvvlkiCx-M4A4Qw9sVOqO8QDtS7l9BKi3KNYQ9S0SIZ90Csk7zkoCIWpXrneM9BgISrL7dhijrNBhoB63kkcsDwMdVEfp1hNV9r/s72-c/eYFXw%5B1%5D.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-1129981481472537372</id><published>2014-04-16T10:14:00.002+01:00</published><updated>2014-04-16T10:14:38.501+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><title type='text'>Visual Studio 2013 Erro: &quot;no exports were found that match the constraint contract name&quot;</title><content type='html'>Recentemente depois de fazer umas poucas actualizações a extensões e tudo mais no meu &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Visual Studio 2013&lt;/span&gt; comecei a ter este erro sempre que abria um ficheiro:&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/AVvXsEjZIrYdsqOAjMx07nXHzmqowvea4PlRwdFsqEfUCmvfG3sQcborJrnUmR3iLp0PRGlMd55Xr837MvdNVoALyunruRH6cByuIM0GyGhlhiicWKz-YD1eAXlnUpvZibqLrbXhxdf1-jzxAMy7/s1600/Untitled.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/AVvXsEjZIrYdsqOAjMx07nXHzmqowvea4PlRwdFsqEfUCmvfG3sQcborJrnUmR3iLp0PRGlMd55Xr837MvdNVoALyunruRH6cByuIM0GyGhlhiicWKz-YD1eAXlnUpvZibqLrbXhxdf1-jzxAMy7/s1600/Untitled.png&quot; height=&quot;196&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Depois de fazer umas poucas pesquisas descobri que o culpado seria a &lt;i&gt;cache &lt;/i&gt;do VS2013 e que precisava de a limpar, para tal basta fechar todas as instâncias do VS2013 e apagar a pasta:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;%AppData%\..\Local\Microsoft\VisualStudio\12.0\ComponentModelCache
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 1em; padding: 0px; vertical-align: baseline;&quot;&gt;
Ou&lt;/div&gt;
&lt;pre style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;%UserProfile%\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; border: 0px; clear: both; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 1em; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;br /&gt;
E quando volto a abrir o VS2013 já não tenho o erro :)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/17596543/no-exports-were-found-that-match-the-constraint-contract-name#17604007&quot; target=&quot;_blank&quot;&gt;no exports were found that match the constraint contract name&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/1129981481472537372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/04/visual-studio-2013-erro-no-exports-were.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/1129981481472537372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/1129981481472537372'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/04/visual-studio-2013-erro-no-exports-were.html' title='Visual Studio 2013 Erro: &quot;no exports were found that match the constraint contract name&quot;'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZIrYdsqOAjMx07nXHzmqowvea4PlRwdFsqEfUCmvfG3sQcborJrnUmR3iLp0PRGlMd55Xr837MvdNVoALyunruRH6cByuIM0GyGhlhiicWKz-YD1eAXlnUpvZibqLrbXhxdf1-jzxAMy7/s72-c/Untitled.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-5165452349889280826</id><published>2014-04-09T09:30:00.000+01:00</published><updated>2014-04-09T09:30:00.987+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>Múltiplas instâncias do mesmo serviço windows</title><content type='html'>Normalmente para instalar/desinstalar serviços &lt;i&gt;windows&lt;/i&gt; uso a ferramenta &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;InstallUtil&lt;/span&gt;, mas surgiu a necessidade de ter o mesmo serviço instalado múltiplas vezes na mesma maquina (um para DEV e outro para STAGING)&lt;br /&gt;
&lt;br /&gt;
Se para usar o InstallUtil teria de ter dois serviços para terem nomes distintos e poderem residir na mesma maquina, o que não me faz sentido ... por isso pesquisei e encontrei outra ferramenta que faz exactamente o que preciso e muito mais :)&lt;br /&gt;
&lt;br /&gt;
A aplicação &lt;a href=&quot;http://technet.microsoft.com/en-us/library/cc754599.aspx&quot; target=&quot;_blank&quot;&gt;Sc.exe&lt;/a&gt; permite fazer tudo o que podemos fazer pela aplicação &quot;Serviços&quot; do painel de controlo mas através da linha de comandos.&lt;br /&gt;
&lt;br /&gt;
Para criar duas instancias do mesmo serviço podemos fazer:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;   sc.exe create Servico.De.Exemplo.Dev   
     binPath= &quot;caminho.completo.para.o.serviço.de.dev&quot;   
     DisplayName= &quot;Servico De Exemplo Dev&quot;   
     start= auto  
     obj= &quot;utilizador@dominio&quot;  
     password= &quot;password do utilizador&quot;  
   
   sc.exe create Servico.De.Exemplo.Staging   
     binPath= &quot;caminho.completo.para.o.serviço.de.staging&quot;   
     DisplayName= &quot;Servico De Exemplo Staging&quot;  
     start= auto  
     obj= &quot;utilizador@dominio&quot;  
     password= &quot;password do utilizador&quot;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Desta forma criamos os serviços &quot;Servico.De.Exemplo.Dev&quot; e &quot;Servico.De.Exemplo.Staging&quot; com arranque automático e que correm com a conta de utilizador &quot;utilizador@dominio&quot;&lt;br /&gt;
&lt;br /&gt;
Esta aplicação também permite que controlemos os serviços, podemos iniciar ou parar os serviços:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;   sc.exe &lt;b&gt;start &lt;/b&gt;Servico.De.Exemplo.Dev  
   sc.exe &lt;b&gt;stop &lt;/b&gt;Servico.De.Exemplo.Dev  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
NOTA 1: Não esquecer de deixar um espaço sempre a seguir ao &quot;=&quot; senão ele não interpreta bem a opção e não corre o comando.&lt;br /&gt;
&lt;br /&gt;
NOTA 2: Esta aplicação permite ter como alvo um servidor remoto, para isso basta indicar o nome antes da acção &quot;sc.exe &lt;b&gt;\\remote.server&lt;/b&gt; create ...&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/1279383/installing-multiple-instances-of-the-same-windows-service-on-a-server#1279473&quot; target=&quot;_blank&quot;&gt;Installing multiple instances of the same windows service on a server&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/5165452349889280826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/04/multiplas-instancias-do-mesmo-servico.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5165452349889280826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5165452349889280826'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/04/multiplas-instancias-do-mesmo-servico.html' title='Múltiplas instâncias do mesmo serviço windows'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-7466207654133904060</id><published>2014-04-02T10:25:00.001+01:00</published><updated>2014-04-03T08:35:18.964+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="nant"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><title type='text'>Nant target .net framework 4.5</title><content type='html'>Uma das regras basilares de boas praticas num projecto é ter o processo de &lt;i&gt;build&lt;/i&gt;/&lt;i&gt;deploy&lt;/i&gt; automatizado (pelo menos para mim), assim evitar erros humanos e dar alguma segurança quando delegamos estas tarefas a pessoas que ainda não estão (e assim conservarmos o nosso tempo para as nossas tarefas)&lt;br /&gt;
&lt;br /&gt;
No projecto em que estou usa-se &lt;a href=&quot;http://nant.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;NAnt&lt;/a&gt; como ferramenta de &lt;i&gt;build&lt;/i&gt;, a meu ver é uma ferramenta robusta e facilmente extensível através de &lt;i&gt;scripts&lt;/i&gt; para fazer o que não nos dá &lt;i&gt;out-of-the-box&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
No entanto a versão actual ainda não suporta a framework .net 4.5, para isso é preciso adicionar ao ficheiro de configuração a especificação da &lt;i&gt;framework&lt;/i&gt; com a localização das &lt;i&gt;assemblies&lt;/i&gt; dessa versão e do compilador.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para facilitar o trabalho, fica aqui o ficheiro completo de configuração para o NAnt v0.92. Basta substituir o ficheiro de configuração original pelo que tenho aqui e passamos a ter a &lt;i&gt;framework&lt;/i&gt; 4.5 disponível!&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #f0f0f0; background-position: initial initial; background-repeat: initial initial; border: 1px dashed rgb(204, 204, 204); height: auto; max-height: 400px; overflow: auto; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;
&amp;lt;!--
Building .NET 4.5 Projects with Nant:
http://stackoverflow.com/questions/11837795/building-net-4-5-projects-with-nant/11840925#11840925
--&amp;gt;
&amp;lt;configuration&amp;gt;
 &amp;nbsp;&amp;lt;!-- Leave this alone. Sets up configsectionhandler section --&amp;gt;
 &amp;nbsp;&amp;lt;configSections&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;section name=&quot;nant&quot; type=&quot;NAnt.Core.ConfigurationSection, NAnt.Core&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;section name=&quot;log4net&quot; type=&quot;System.Configuration.IgnoreSectionHandler&quot; /&amp;gt;
 &amp;nbsp;&amp;lt;/configSections&amp;gt;
 &amp;nbsp;&amp;lt;appSettings&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- Used to indicate the location of the cache folder for shadow files --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;add key=&quot;shadowfiles.path&quot; value=&quot;%temp%\nunit20\ShadowCopyCache&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- Used to indicate that NAnt should shadow copy files in a cache folder near the executable --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;add key=&quot;nant.shadowfiles&quot; value=&quot;False&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- Used to indicate if cached files should be deleted when done running--&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;add key=&quot;nant.shadowfiles.cleanup&quot; value=&quot;False&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- To enable internal log4net logging, uncomment the next line --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;lt;add key=&quot;log4net.Internal.Debug&quot; value=&quot;true&quot;/&amp;gt; --&amp;gt;
 &amp;nbsp;&amp;lt;/appSettings&amp;gt;
 &amp;nbsp;&amp;lt;!-- nant config settings --&amp;gt;
 &amp;nbsp;&amp;lt;nant&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;frameworks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;platform name=&quot;win32&quot; default=&quot;auto&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include NAnt task assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*Tasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include NAnt test assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include framework-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude Microsoft.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude Microsoft.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v1.0.3705&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v1.0.3705&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.0.3705&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/1.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/1.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v1.0.3705&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v1.0.3705&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;cscompmgd.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Vsa.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.XML.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 1.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/1.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Microsoft.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Microsoft.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 1.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/1.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v1.0.3705&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;aximp&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsrcw&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;tlbimp&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportstransform&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-1.1&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.1&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 1.1&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.1.4322&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/1.1&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/1.1&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v1.1.4322&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;cscompmgd.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Vsa.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.XML.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 1.1 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/1.1/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 1.1 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/1.1/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;cscompmgd.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Vsa.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.XML.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/net/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;cscompmgd.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Vsa.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.XML.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${environment::get-folder-path(&#39;ProgramFiles&#39;)}/Reference Assemblies/Microsoft/Framework/v3.5&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.Contract.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.DataAnnotations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.DataSetExtensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Client.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.AccountManagement.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.Instrumentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Abstractions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entitly.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entitly.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.WorkflowServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${environment::get-folder-path(&#39;ProgramFiles&#39;)}/Reference Assemblies/Microsoft/Framework/v3.0&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationBuildTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationCore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Aero.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Classic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Luna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Royale.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;ReachFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.Selectors.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IO.Log.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Printing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Speech.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.ComponentModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Runtime.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClientsideProviders.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationProvider.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationTypes.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsBase.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsFormsIntegration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v6.0A&quot; maxnetfxver=&quot;3.5&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Conversion.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Tasks.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.CSharp.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Data.Entity.Build.Tasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.JScript.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Transactions.Bridge.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Transactions.Bridge.Dtc.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Activities.Compiler.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.STLCLR.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Core.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.Contract&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.Composition.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.DataAnnotations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.DataSetExtensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Client.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Device.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.Protocols.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Dynamic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Thunk.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Wrapper.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.Selectors.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IO.Log.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.Instrumentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Numerics.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Caching.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Channels.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Discovery.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.ServiceMoniker40.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.WasHosting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Abstractions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.ApplicationServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.ComponentModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Runtime.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.WorkflowServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.Hosting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- WPF Assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}/WPF&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NaturalLanguage6.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NlsData0009.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NlsLexicons0009.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PenIMC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationCore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Aero.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Classic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Luna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Royale.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationHost_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationNative_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationUI.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;ReachFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Printing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Speech.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Input.Manipulations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClientsideProviders.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationProvider.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationTypes.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsBase.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsFormsIntegration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;wpfgfx_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;wpftxt_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${environment::get-folder-path(&#39;ProgramFiles&#39;)}/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.0&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Conversion.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Tasks.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.CSharp.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.JScript.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Comptatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.STLCLR.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationBuildTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationCore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsBase.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Aero.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Classic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Luna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Royale.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;ReachFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Core.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.Contract.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.Composition.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.DataAnnotations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.DataSetExtension.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Client.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Device.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.AccountManagement.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.Protocols.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Thunk.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Wrapper.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.Selectors.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IO.Log.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.Instrumentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Numerics.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Printing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Caching.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Channels.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Discovery.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Speech.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Abstractions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.ApplicationServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Input.Manipulations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.ComponentModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Runtime.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.WorkflowServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v7.0A&quot; minnetfxver=&quot;4.0&quot; maxnetfxver=&quot;4.0.99999&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;netcf-1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;netcf&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Compact Framework 1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;v1.0.5000\bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(sdkInstallRoot, &#39;v1.0.5000\Windows CE&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.1.4322&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Compact&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v1.1.4322&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(sdkInstallRoot, &#39;v1.0.5000\Windows CE&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- this is not a supported runtime framework --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;v1.0.5000\bin&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v1.1.4322&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot.DesktopFramework, &#39;bin&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETCompactFramework\sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot.DesktopFramework&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail if=&quot;${not directory::exists(sdkInstallRoot.DesktopFramework)}&quot;&amp;gt;The .NET Framework 1.1 SDK is not installed.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;cfresgen&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;netcf-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;netcf&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Compact Framework 2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot.DesktopFramework, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(sdkInstallRoot, &#39;WindowsCE&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Compact&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(sdkInstallRoot, &#39;WindowsCE&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- this is not a supported runtime framework --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot.DesktopFramework, &#39;bin&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETCompactFramework\v2.0.0.0\InstallRoot\&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot.DesktopFramework&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail if=&quot;${not directory::exists(sdkInstallRoot.DesktopFramework)}&quot;&amp;gt;The .NET Framework 2.0 SDK is not installed.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;silverlight-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;silverlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft Silverlight 2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${SL2RefAssemblyBaseDir}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${SL2RefAssemblyBaseDir}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${SL2RefAssemblyBaseDir}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v2.0.50727&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry property=&quot;SL2RefAssemblyBaseDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v2.0\ReferenceAssemblies\SLRuntimeInstallPath&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v6.0A&quot; maxnetfxver=&quot;3.5&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;silverlight-3.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;silverlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;3.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft Silverlight 3.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${SL3RefAssemblyBaseDir}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${SL3RefAssemblyBaseDir}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Remaining libraries found in the Reference Assembly directory --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;coreclr.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrl.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrlui.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Silverlight.ConfigurationUI.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${SL3RefAssemblyBaseDir}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry property=&quot;SL3RefAssemblyBaseDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v3.0\ReferenceAssemblies\SLRuntimeInstallPath&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v6.0A&quot; maxnetfxver=&quot;3.5&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;silverlight-4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;silverlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft Silverlight 4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${SL4RefAssemblyBaseDir}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${SL4RefAssemblyBaseDir}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;system.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Remaining libraries found in the Reference Assembly directory --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;coreclr.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrl.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrlui.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${SL4RefAssemblyBaseDir}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry property=&quot;SL4RefAssemblyBaseDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v4.0\ReferenceAssemblies\SLRuntimeInstallPath&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v7.0A&quot; minnetfxver=&quot;4.0&quot; maxnetfxver=&quot;4.0.99999&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;silverlight-5.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;silverlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;5.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft Silverlight 5.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${SL5RefAssemblyBaseDir}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${SL5RefAssemblyBaseDir}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;system.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Remaining libraries found in the Reference Assembly directory --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;agcore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;coreclr.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.debug.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorrc.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrl.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;npctrlui.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Remaining libraries are specific to XNA programming --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Xna.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Xna.Framework.Graphics.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Xna.Framework.Graphics.Shaders.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Xna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${SL5RefAssemblyBaseDir}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry property=&quot;SL5RefAssemblyBaseDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\Microsoft SDKs\Silverlight\v5.0\ReferenceAssemblies\SLRuntimeInstallPath&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v7.0A&quot; minnetfxver=&quot;4.0&quot; maxnetfxver=&quot;4.0.99999&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;noconfig&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;nostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 1.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.1.4322&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/1.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/1.1&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v1.1.4322&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 1.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/1.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 1.1 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/1.1/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- quick and dirty check to see if pkg-config is available (and configured) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;pkgconfig.available&quot; value=&quot;${environment::variable-exists(&#39;PKG_CONFIG_PATH&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-pkg-config&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- determine if we&#39;re dealing with a Mono 1.0.x release --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${version::parse(mono.version) &amp;lt; version::parse(&#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in Mono 1.0.x, the framework tools are located 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in the &amp;lt;install root&amp;gt;\lib directory
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${frameworkAssemblyDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;monoresgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- in Mono 1.0.x, only mcs and mbas are located in &amp;lt;install root&amp;gt;\lib\mono\&amp;lt;profile&amp;gt; --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.tool&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0/mcs.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mbas.tool&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0/mbas.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- /doc is not supported in Mono 1.0.x --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;false&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mono 1.0.1 installer incorrectly adds &#39;\mono&#39; to 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;MonoConfigDir&quot; registry value
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${string::ends-with(configDir, &#39;etc\mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${string::replace(configDir, &#39;etc\mono&#39;, &#39;etc&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- determine if we&#39;re dealing with a Mono 1.1.x release or higher --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${version::parse(mono.version) &amp;gt;= version::parse(&#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in Mono 1.1.x (and higher ?), the framework tools 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are located in the &amp;lt;install root&amp;gt;\lib\mono\&amp;lt;profile&amp;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;directory
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not file::exists(runtimeEngine)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;bin/mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;resgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.tool&quot; value=&quot;mcs&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mbas.tool&quot; value=&quot;mbas&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-pkg-config&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mono.version&quot; value=&quot;${pkg-config::get-mod-version(&#39;mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;sdkInstallRoot&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;frameworkAssemblyDirectory&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;libdir&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;etc&#39;)}/&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-registry&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;monoregistry property=&quot;mono.reg&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;mono.version&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${mono.reg}\DefaultCLR&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;monokey&quot; value=&quot;${mono.reg}\${mono.version}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\SdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;frameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\FrameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;configDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\MonoConfigDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${csc.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;${csc.supportsdocgeneration}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${mbas.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${resgen.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 2.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- for compatibility with Mono 1.0.x --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${frameworkAssemblyDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- quick and dirty check to see if pkg-config is available (and configured) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;pkgconfig.available&quot; value=&quot;${environment::variable-exists(&#39;PKG_CONFIG_PATH&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-pkg-config&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;false&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- determine if we&#39;re dealing with a Mono 1.0.x release --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${version::parse(mono.version) &amp;lt; version::parse(&#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in Mono 1.0.x, the framework tools are located 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in the &amp;lt;install root&amp;gt;\lib directory, except for
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mbas and mcs
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${frameworkAssemblyDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;monoresgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;false&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mono 1.0.1 installer incorrectly adds &#39;\mono&#39; to 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;MonoConfigDir&quot; registry value
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${string::ends-with(configDir, &#39;etc\mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${string::replace(configDir, &#39;etc\mono&#39;, &#39;etc&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- determine if we&#39;re dealing with a Mono 1.1.x release or higher --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${version::parse(mono.version) &amp;gt;= version::parse(&#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not file::exists(runtimeEngine)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;bin/mono.exe&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- as from Mono 1.2.3.50, resgen supports the /usesourcepath option --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${version::parse(mono.version) &amp;gt;= version::parse(&#39;1.2.3.50&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-pkg-config&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mono.version&quot; value=&quot;${pkg-config::get-mod-version(&#39;mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;sdkInstallRoot&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;frameworkAssemblyDirectory&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;libdir&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;etc&#39;)}/&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-registry&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;monoregistry property=&quot;mono.reg&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;mono.version&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${mono.reg}\DefaultCLR&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;monokey&quot; value=&quot;${mono.reg}\${mono.version}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\SdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;frameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\FrameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;configDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\MonoConfigDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;gmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;${csc.supportsdocgeneration}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${resgen.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;${resgen.supportsexternalfilereferences}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 3.5 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.5&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- quick and dirty check to see if pkg-config is available (and configured) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;pkgconfig.available&quot; value=&quot;${environment::variable-exists(&#39;PKG_CONFIG_PATH&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-pkg-config&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;bin/mono.exe&#39;)}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-pkg-config&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mono.version&quot; value=&quot;${pkg-config::get-mod-version(&#39;mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;sdkInstallRoot&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;frameworkAssemblyDirectory&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;libdir&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;etc&#39;)}/&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-registry&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;monoregistry property=&quot;mono.reg&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;mono.version&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${mono.reg}\DefaultCLR&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;monokey&quot; value=&quot;${mono.reg}\${mono.version}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\SdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;frameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\FrameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;configDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\MonoConfigDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;gmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;langversion&quot;&amp;gt;linq&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 4.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/4.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;PATH&quot; path=&quot;${path::combine(sdkInstallRoot, &#39;bin&#39;)};%PATH%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;MONO_CFG_DIR&quot; path=&quot;${configDir};%MONO_CFG_DIR%&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/4.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.5&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/4.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- quick and dirty check to see if pkg-config is available (and configured) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;pkgconfig.available&quot; value=&quot;${environment::variable-exists(&#39;PKG_CONFIG_PATH&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-pkg-config&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/4.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;bin/mono.exe&#39;)}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-pkg-config&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mono.version&quot; value=&quot;${pkg-config::get-mod-version(&#39;mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;sdkInstallRoot&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;frameworkAssemblyDirectory&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;libdir&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;etc&#39;)}/&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-registry&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;monoregistry property=&quot;mono.reg&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;mono.version&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${mono.reg}\DefaultCLR&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;monokey&quot; value=&quot;${mono.reg}\${mono.version}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\SdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;frameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\FrameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;configDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\MonoConfigDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;dmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;langversion&quot;&amp;gt;linq&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;moonlight-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;moonlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Moonlight 2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${runtimeEngine}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=moonlight&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--security=temporary-smcs-hack&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(frameworkAssemblyDirectory, &#39;lib/mono/2.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- quick and dirty check to see if pkg-config is available (and configured) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;pkgconfig.available&quot; value=&quot;${environment::variable-exists(&#39;PKG_CONFIG_PATH&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-pkg-config&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkgconfig.available}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call target=&quot;configure-from-registry&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(frameworkAssemblyDirectory, &#39;mono/2.1&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;runtimeEngine&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;bin/mono.exe&#39;)}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-pkg-config&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;mono.version&quot; value=&quot;${pkg-config::get-mod-version(&#39;mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;sdkInstallRoot&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;frameworkAssemblyDirectory&quot; value=&quot;${cygpath::get-windows-path(pkg-config::get-variable(&#39;mono&#39;, &#39;libdir&#39;))}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;configDir&quot; value=&quot;${path::combine(sdkInstallRoot, &#39;etc&#39;)}/&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&quot;configure-from-registry&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;monoregistry property=&quot;mono.reg&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;mono.version&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${mono.reg}\DefaultCLR&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;monokey&quot; value=&quot;${mono.reg}\${mono.version}&quot; /&amp;gt;

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;sdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\SdkInstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;frameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\FrameworkAssemblyDirectory&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;configDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;${monokey}\MonoConfigDir&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;smcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;sscli-1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;sscli&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft Shared Source CLI 1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;C:\sscli\build\v1.x86fstchk.rotor\sdk\bin&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;C:\sscli\build\v1.x86fstchk.rotor&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;C:\sscli\build\v1.x86fstchk.rotor&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.0.3&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;C:\sscli\build\v1.x86fstchk.rotor\clix.exe&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;C:\sscli\build\v1.x86fstchk.rotor&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- this is not a supported runtime framework --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;C:\sscli\build\v1.x86fstchk.rotor\sdk\bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;C:\sscli\build\v1.x86fstchk.rotor&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ildasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;net-4.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;net&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;4.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Microsoft .NET Framework 4.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Microsoft&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;variable name=&quot;COMPLUS_VERSION&quot; value=&quot;v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/environment&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Accessibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Conversion.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Tasks.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.CSharp.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Data.Entity.Build.Tasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.JScript.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Transactions.Bridge.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Transactions.Bridge.Dtc.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Activities.Compiler.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.STLCLR.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Core.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.Contract&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.Composition.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.DataAnnotations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.Install.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.DataSetExtensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Client.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Device.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.Protocols.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Dynamic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Thunk.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Wrapper.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.Selectors.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IO.Log.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.Instrumentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Numerics.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Caching.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Channels.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Discovery.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.ServiceMoniker40.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.WasHosting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Abstractions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.ApplicationServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.ComponentModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Runtime.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.WorkflowServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.Hosting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- WPF Assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}/WPF&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NaturalLanguage6.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NlsData0009.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NlsLexicons0009.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PenIMC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationCore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Aero.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Classic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Luna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Royale.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationHost_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationNative_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationUI.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;ReachFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Printing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Speech.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Input.Manipulations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationClientsideProviders.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationProvider.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;UIAutomationTypes.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsBase.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsFormsIntegration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;wpfgfx_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;wpftxt_v0400.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${environment::get-folder-path(&#39;ProgramFiles&#39;)}/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Conversion.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Engine.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Framework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Tasks.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.Build.Utilities.v4.0.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.CSharp.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.JScript.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Compatibility.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.Comptatibility.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualC.STLCLR.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationBuildTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationCore.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;WindowsBase.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Aero.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Classic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Luna.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;PresentationFramework.Royale.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;ReachFramework.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Core.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Activities.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.Contract.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.AddIn.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.Composition.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ComponentModel.DataAnnotations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Configuration.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.DataSetExtension.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.OracleClient.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Client.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Data.SqlXml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Deployment.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Device.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.AccountManagement.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.DirectoryServices.Protocols.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Drawing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Thunk.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.EnterpriseServices.Wrapper.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IdentityModel.Selectors.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.IO.Log.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Management.Instrumentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Messaging.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Numerics.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Printing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Caching.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.DurableInstancing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Remoting.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.Formatters.Soap.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Security.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Channels.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Discovery.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceProcess.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Speech.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Transactions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Abstractions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.ApplicationServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.DynamicData.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Entity.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Extensions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Mobile.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.RegularExpressions.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Routing.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Web.Services.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.Design.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.DataVisualization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Forms.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Input.Manipulations.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Presentation.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Activities.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.ComponentModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Workflow.Runtime.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.WorkflowServices.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xaml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.Linq.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 4.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/4.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${sdkInstallRoot}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if=&quot;${property::exists(&#39;sdkInstallRoot&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(installRoot, &#39;v4.0.30319&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;readregistry
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;property=&quot;installRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key=&quot;SOFTWARE\Microsoft\.NETFramework\InstallRoot&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hive=&quot;LocalMachine&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;locatesdk property=&quot;sdkInstallRoot&quot; minwinsdkver=&quot;v7.0A&quot; minnetfxver=&quot;4.0&quot; maxnetfxver=&quot;4.0.99999&quot; failonerror=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnostdlib&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportswarnaserrorlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsplatform&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vjc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;lc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/platform&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;platform name=&quot;unix&quot; default=&quot;auto&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include NAnt task assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*Tasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include NAnt test assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include framework-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude Microsoft.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude Microsoft.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude win32 specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.Win32Tasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- exclude win32 specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exclude name=&quot;NAnt.Win32.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;1.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 1.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;1.1.4322&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/1.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/1.1&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v1.1.4322&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 1.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/1.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 1.1 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/1.1/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${prefix}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail&amp;gt;Unable to locate &#39;mono&#39; module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;prefix&quot; value=&quot;${pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not(pkg-config::is-atleast-version(&#39;mono&#39;, &#39;1.1&#39;))}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;bin&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;monoresgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::is-atleast-version(&#39;mono&#39;, &#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;resgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${path::combine(prefix, &#39;lib/mono/1.0/mcs.exe&#39;)}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;${csc.supportsdocgeneration}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${path::combine(prefix, &#39;lib/mono/1.0/mbas.exe&#39;)}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${resgen.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 2.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${prefix}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail&amp;gt;Unable to locate &#39;mono&#39; module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;prefix&quot; value=&quot;${pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not(pkg-config::is-atleast-version(&#39;mono&#39;, &#39;1.1&#39;))}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;bin&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;monoresgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::is-atleast-version(&#39;mono&#39;, &#39;1.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.tool&quot; value=&quot;resgen&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;csc.supportsdocgeneration&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- as from Mono 1.2.3.50, resgen supports the /usesourcepath option --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${pkg-config::is-atleast-version(&#39;mono&#39;, &#39;1.2.3.50&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;gmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;${csc.supportsdocgeneration}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;${resgen.tool}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;${resgen.supportsexternalfilereferences}&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;3.5&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 3.5 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v2.0.50727&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/3.5&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/3.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${prefix}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail&amp;gt;Unable to locate &#39;mono&#39; module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;prefix&quot; value=&quot;${pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;lib/mono/3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;gmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;langversion&quot;&amp;gt;linq&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;mono-4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;4.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Mono 4.0 Profile&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${path::combine(prefix, &#39;lib/mono/4.0&#39;)}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;4.0.30319&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Desktop&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/mono/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/2.0&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;lib/common/neutral&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/probing-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/strict&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/4.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/3.5&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/3.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include Mono 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/mono/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/3.5&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${prefix}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail&amp;gt;Unable to locate &#39;mono&#39; module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;resgen.supportsexternalfilereferences&quot; value=&quot;false&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;prefix&quot; value=&quot;${pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;lib/mono/4.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;al&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;dmcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;langversion&quot;&amp;gt;linq&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;jsc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;mjs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;strict&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;vbc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;vbnc&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;ilasm&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;framework
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;moonlight-2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;family=&quot;moonlight&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&quot;2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;description=&quot;Moonlight 2.0&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sdkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkdirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworkassemblydirectory=&quot;${toolDirectory}&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrversion=&quot;2.0.50727&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clrtype=&quot;Browser&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor=&quot;Mono&quot;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;engine program=&quot;${path::combine(prefix, &#39;bin/mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--runtime=moonlight&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;arg value=&quot;--security=temporary-smcs-hack&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/engine&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/auto&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/modes&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;reference-assemblies basedir=&quot;${path::combine(prefix, &#39;lib/mono/2.1&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;Microsoft.VisualBasic.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;mscorlib.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Core.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Net.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Runtime.Serialization.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.ServiceModel.Web.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.Browser.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Windows.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;System.Xml.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/reference-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET version-neutral assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/neutral/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/net/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific task assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNetTasks.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include MS.NET specific test assembly --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;NAnt.MSNet.Tests.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- include .NET 2.0 specific assemblies --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;include name=&quot;extensions/common/2.0/**/*.dll&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task-assemblies&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${toolDirectory}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/2.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${path::combine(prefix, &#39;lib/mono/1.0&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- unmanaged tools --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory name=&quot;${prefix}/bin&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tool-paths&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;if test=&quot;${not pkg-config::exists(&#39;mono&#39;)}&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;fail&amp;gt;Unable to locate &#39;mono&#39; module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.&amp;lt;/fail&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/if&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;prefix&quot; value=&quot;${pkg-config::get-variable(&#39;mono&#39;, &#39;prefix&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;toolDirectory&quot; value=&quot;${path::combine(prefix, &#39;lib/mono/2.1&#39;)}&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/project&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;csc&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;smcs&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;managed&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportspackagereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsnowarnlist&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdocgeneration&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeycontainer&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportskeyfile&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsdelaysign&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportslangversion&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;resgen&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsassemblyreferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;supportsexternalfilereferences&quot;&amp;gt;true&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;delay-sign&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;exename&quot;&amp;gt;sn&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;task name=&quot;license&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&quot;hascommandlinecompiler&quot;&amp;gt;false&amp;lt;/attribute&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tasks&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/framework&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/platform&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/frameworks&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;properties&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- properties defined here are accessible to all build files --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;lt;property name=&quot;foo&quot; value = &quot;bar&quot; readonly=&quot;false&quot; /&amp;gt; --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/properties&amp;gt;
 &amp;nbsp;&amp;lt;/nant&amp;gt;
 &amp;nbsp;&amp;lt;!--
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This section contains the log4net configuration settings.

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;By default, no messages will be logged to the log4net logging infrastructure.

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To enable the internal logging, set the threshold attribute on the log4net element
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to &quot;ALL&quot;.

 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;When internal logging is enabled, internal messages will be written to the 
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;console.
 &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp;&amp;lt;log4net threshold=&quot;OFF&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;appender name=&quot;ConsoleAppender&quot; type=&quot;log4net.Appender.ConsoleAppender&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;ConversionPattern&quot; value=&quot;[%c{2}:%m &amp;nbsp;- [%x] &amp;lt;%X{auth}&amp;gt;]%n&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/layout&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/appender&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;appender name=&quot;RollingLogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;File&quot; value=&quot;${APPDATA}\\NAnt\\NAnt.log&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;AppendToFile&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;MaxSizeRollBackups&quot; value=&quot;2&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;MaximumFileSize&quot; value=&quot;500KB&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;RollingStyle&quot; value=&quot;Size&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;StaticLogFileName&quot; value=&quot;true&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=&quot;ConversionPattern&quot; value=&quot;[%c{2}:%m &amp;nbsp;- [%x] &amp;lt;%X{auth}&amp;gt;]%n&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/layout&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/appender&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- Setup the root category, add the appenders and set the default level --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;root&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Only log messages with severity ERROR (or higher) --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;level value=&quot;ERROR&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Log messages to the console --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;appender-ref ref=&quot;ConsoleAppender&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Uncomment the next line to enable logging messages to the NAnt.log file --&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;lt;appender-ref ref=&quot;RollingLogFileAppender&quot; /&amp;gt; --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/root&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- Specify the priority for some specific categories --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!--
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;logger name=&quot;NAnt.Core.TaskBuilderCollection&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;level value=&quot;DEBUG&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/logger&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;logger name=&quot;NAnt&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;level value=&quot;INFO&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/logger&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
 &amp;nbsp;&amp;lt;/log4net&amp;gt;
 &amp;nbsp;&amp;lt;runtime&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot;&amp;gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;probing privatePath=&quot;lib&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;/assemblyBinding&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;NetFx40_LegacySecurityPolicy enabled=&quot;true&quot;/&amp;gt;
 &amp;nbsp;&amp;lt;/runtime&amp;gt;
 &amp;nbsp;&amp;lt;startup&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- .NET Framework 4.5 --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;supportedRuntime version=&quot;v4.0&quot; sku=&quot;.NETFramework,Version=v4.5&quot;/&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- .NET Framework 4.0 --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;supportedRuntime version=&quot;v4.0.30319&quot; /&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;!-- .NET Framework 2.0 --&amp;gt;
 &amp;nbsp; &amp;nbsp;&amp;lt;supportedRuntime version=&quot;v2.0.50727&quot; /&amp;gt;
 &amp;nbsp;&amp;lt;/startup&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/11837795/building-net-4-5-projects-with-nant#11840925&quot; target=&quot;_blank&quot;&gt;Building .NET 4.5 Projects with Nant&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/7466207654133904060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/04/nant-target-net-framework-45.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7466207654133904060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7466207654133904060'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/04/nant-target-net-framework-45.html' title='Nant target .net framework 4.5'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-658379181955854514</id><published>2014-03-27T09:30:00.000+00:00</published><updated>2014-04-02T10:26:20.952+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="xml"/><title type='text'>Fazer queries a xml com namespaces no SQL</title><content type='html'>Imaginemos que temos uma tabela onde guardamos um livro em formato xml numa coluna:&lt;br /&gt;
&lt;pre style=&quot;overflow: auto; max-height: 400px; background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; DECLARE @book TABLE  
 (  
  BookID int,   
  Details xml  
 );  
   
 INSERT INTO @book  
 VALUES (1,   
 &#39;&amp;lt;book id=&quot;bk101&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Gambardella, Matthew&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;XML Developer&#39;&#39;s Guide&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Computer&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;44.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-10-01&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;An in-depth look at creating applications with XML.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (2,   
 &#39;&amp;lt;book id=&quot;bk102&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Ralls, Kim&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Midnight Rain&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Fantasy&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;5.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-12-16&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (3,   
 &#39;&amp;lt;book id=&quot;bk103&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Corets, Eva&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Maeve Ascendant&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Fantasy&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;5.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-11-17&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;After the collapse of a nanotechnology society in England, the young survivors lay the foundation for a new society.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (4,   
 &#39;&amp;lt;book id=&quot;bk104&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Corets, Eva&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Oberon&#39;&#39;s Legacy&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Fantasy&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;5.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2001-03-10&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;In post-apocalypse England, the mysterious agent known only as Oberon helps to create a new life for the inhabitants of London. Sequel to Maeve Ascendant.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (5,   
 &#39;&amp;lt;book id=&quot;bk105&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Corets, Eva&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;The Sundered Grail&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Fantasy&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;5.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2001-09-10&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;The two daughters of Maeve, half-sisters, battle one another for control of England. Sequel to Oberon&#39;&#39;s Legacy.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (6,   
 &#39;&amp;lt;book id=&quot;bk106&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Randall, Cynthia&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Lover Birds&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Romance&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;4.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-09-02&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;When Carla meets Paul at an ornithology conference, tempers fly as feathers get ruffled.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (7,   
 &#39;&amp;lt;book id=&quot;bk107&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Thurman, Paula&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Splish Splash&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Romance&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;4.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-11-02&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;A deep sea diver finds true love twenty thousand leagues beneath the sea.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (8,   
 &#39;&amp;lt;book id=&quot;bk108&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Knorr, Stefan&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Creepy Crawlies&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Horror&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;4.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-12-06&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;An anthology of horror stories about roaches, centipedes, scorpions and other insects.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (9,   
 &#39;&amp;lt;book id=&quot;bk109&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Kress, Peter&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Paradox Lost&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Science Fiction&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;6.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-11-02&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (10,   
 &#39;&amp;lt;book id=&quot;bk110&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;O&#39;&#39;Brien, Tim&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Microsoft .NET: The Programming Bible&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Computer&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;36.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-12-09&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;Microsoft&#39;&#39;s .NET initiative is explored in detail in this deep programmer&#39;&#39;s reference.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (11,   
 &#39;&amp;lt;book id=&quot;bk111&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;O&#39;&#39;Brien, Tim&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;MSXML3: A Comprehensive Guide&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Computer&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;36.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2000-12-01&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;The Microsoft MSXML3 parser is covered in detail, with attention to XML DOM interfaces, XSLT processing, SAX and more.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);  
   
 INSERT INTO @book  
 VALUES (12,   
 &#39;&amp;lt;book id=&quot;bk112&quot; xmlns=&quot;http://rmlalves.blogspot.com/&quot;&amp;gt;  
   &amp;lt;author&amp;gt;Galos, Mike&amp;lt;/author&amp;gt;  
   &amp;lt;title&amp;gt;Visual Studio 7: A Comprehensive Guide&amp;lt;/title&amp;gt;  
   &amp;lt;genre&amp;gt;Computer&amp;lt;/genre&amp;gt;  
   &amp;lt;price&amp;gt;49.95&amp;lt;/price&amp;gt;  
   &amp;lt;publish_date&amp;gt;2001-04-16&amp;lt;/publish_date&amp;gt;  
   &amp;lt;description&amp;gt;Microsoft Visual Studio 7 is explored in depth, looking at how Visual Basic, Visual C++, C#, and ASP+ are integrated into a comprehensive development environment.&amp;lt;/description&amp;gt;  
 &amp;lt;/book&amp;gt;&#39;);   
&lt;/code&gt;&lt;/pre&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://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMJuszhceg7yJu2fTqrOA8XW6i7JJ7C315PKFHC61dJMUAVbpG9cS7EAk1Iz6Z29rGxdd4vnYT7L0Cn1kgKzEVX7lw7t6gAFKufZkDuIKvrfa1ZTBMC9Du0f-ysaeLsDWzTf7MPTJLzZtt/s1600/xmlquery_01.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/AVvXsEgMJuszhceg7yJu2fTqrOA8XW6i7JJ7C315PKFHC61dJMUAVbpG9cS7EAk1Iz6Z29rGxdd4vnYT7L0Cn1kgKzEVX7lw7t6gAFKufZkDuIKvrfa1ZTBMC9Du0f-ysaeLsDWzTf7MPTJLzZtt/s1600/xmlquery_01.png&quot; height=&quot;230&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Tendo esta tabela agora queremos fazer &lt;i&gt;queries&lt;/i&gt; sobre o xml, para isso o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sql&lt;/span&gt; tem um conjunto de métodos de ajuda para podermos aplicar uma expressão xpath à coluna xml.&lt;br /&gt;
&lt;br /&gt;
Em conjunto com esses métodos também temos um &lt;i&gt;helper&lt;/i&gt; para indicar à &lt;i&gt;query&lt;/i&gt; os &lt;i&gt;xml namespaces&lt;/i&gt; a usar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; &lt;b&gt;WITH XMLNAMESPACES(&#39;http://rmlalves.blogspot.com/&#39; as cnt) &lt;/b&gt; 
 SELECT  
&lt;b&gt;   Details.value(&#39;(/cnt:book/@id)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS BookId,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:author)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS Author,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:title)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS Title,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:price)[1]&#39;, &#39;money&#39;)&lt;/b&gt; AS Price  
 FROM @book  
&lt;/code&gt;&lt;/pre&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://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZixf9ZwJHhW1t9hwUNPz_0S84fZfDoco1qZo1pEISrAzuy_GE2LceAUwJxzApVDYVUJtbM-aEh1K_CXxrN7VwU8N1Cugi1d7tR5N7F2NmU6Ip9dTI-tweI9ATIDcoGgQ4z4MoQNOx6ldB/s1600/xmlquery_02.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/AVvXsEhZixf9ZwJHhW1t9hwUNPz_0S84fZfDoco1qZo1pEISrAzuy_GE2LceAUwJxzApVDYVUJtbM-aEh1K_CXxrN7VwU8N1Cugi1d7tR5N7F2NmU6Ip9dTI-tweI9ATIDcoGgQ4z4MoQNOx6ldB/s1600/xmlquery_02.png&quot; height=&quot;230&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; &lt;b&gt;WITH XMLNAMESPACES(&#39;http://rmlalves.blogspot.com/&#39; as cnt)&lt;/b&gt;  
 SELECT  
&lt;b&gt;   Details.value(&#39;(/cnt:book/@id)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS BookId,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:author)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS Author,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:title)[1]&#39;, &#39;nvarchar(50)&#39;)&lt;/b&gt; AS Title,  
&lt;b&gt;   Details.value(&#39;(/cnt:book/cnt:price)[1]&#39;, &#39;money&#39;)&lt;/b&gt; AS Price  
 FROM @book  
 WHERE &lt;b&gt;Details.value(&#39;(/cnt:book/cnt:price)[1]&#39;, &#39;money&#39;)&lt;/b&gt; &amp;gt; 40  
&lt;/code&gt;&lt;/pre&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://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6raTodQ-61PyNcJhyphenhyphenolJQry4_lq65rRH7seGp8uhTYGxgt3KDrYnjRDZ1O0HSkQkyKed3hzdm5eqUFJPjzDWg9zwUrDGVoLO8h44xqU4SgpMAjWvvbltczu6WUgMLCwQilCDvPUNbAXAW/s1600/xmlquery_03.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/AVvXsEj6raTodQ-61PyNcJhyphenhyphenolJQry4_lq65rRH7seGp8uhTYGxgt3KDrYnjRDZ1O0HSkQkyKed3hzdm5eqUFJPjzDWg9zwUrDGVoLO8h44xqU4SgpMAjWvvbltczu6WUgMLCwQilCDvPUNbAXAW/s1600/xmlquery_03.png&quot; height=&quot;230&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms177400.aspx&quot; target=&quot;_blank&quot;&gt;Add Namespaces to Queries with WITH XMLNAMESPACES&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/658379181955854514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/03/fazer-queries-xml-com-namespaces-no-sql.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/658379181955854514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/658379181955854514'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/03/fazer-queries-xml-com-namespaces-no-sql.html' title='Fazer queries a xml com namespaces no SQL'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMJuszhceg7yJu2fTqrOA8XW6i7JJ7C315PKFHC61dJMUAVbpG9cS7EAk1Iz6Z29rGxdd4vnYT7L0Cn1kgKzEVX7lw7t6gAFKufZkDuIKvrfa1ZTBMC9Du0f-ysaeLsDWzTf7MPTJLzZtt/s72-c/xmlquery_01.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-98527909333029978</id><published>2014-03-20T09:30:00.000+00:00</published><updated>2014-03-20T11:37:40.153+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="webapi"/><title type='text'>Usar herança nos parâmetros dos métodos na WebApi</title><content type='html'>Num dos desenvolvimentos em que estou envolvido surgiu a necessidade de usar herança num dos parâmetros de entrada dum método na &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;WebApi&lt;/span&gt;. O que eu quero dizer por usar herança é ter na assinatura do método um tipo base e depois quando os vários componentes chamam o método passam tipos derivados com informação mais especifica.&lt;br /&gt;
&lt;br /&gt;
Ora então temos algo como:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; void Process(BaseEvent baseEvent);   
   
 public class BaseEvent   
 {   
   public int Id { get; set; }  
   public DateTime EventOn { get; set; }  
   public string User { get; set; }  
 }   
   
 public class LocationEvent : BaseEvent  
 {   
   public decimal Latitude { get; set; }  
   public decimal Longitude { get; set; }  
 }   
   
 public class VehicleEvent : BaseEvent  
 {   
   public string LicencePlate { get; set; }  
 }   
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
O problema surge quando os vários componentes chamam a &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;WebApi&lt;/span&gt;, passam os tipos derivados, a &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;WebApi&lt;/span&gt; recebe o tipo derivado mas faz sempre&amp;nbsp;&lt;i&gt;deserialize&lt;/i&gt; para o tipo base.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para dar a volta à questão temos de controlar o &lt;i&gt;deserialize&lt;/i&gt; através dum &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;JsonConverter&lt;/span&gt;&amp;nbsp;e mais uns pózinhos mágicos :)&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Adicionar o pacote&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;nuget&lt;/span&gt;&amp;nbsp;do&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Newtonsoft.Json&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; Install-Package Newtonsoft.Json  
&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Alteramos a classe base para ter o tipo que realmente é&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; public class BaseEvent    
 {  
&lt;b&gt;   public string typename { get { return this.GetType().Name; } }  &lt;/b&gt;
   
   public int Id { get; set; }  
   public DateTime EventOn { get; set; }  
   public string User { get; set; }  
 }   
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Criamos um &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;JsonConverter&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; public class BaseEventJsonCreationConverter : JsonConverter  
 {  
   public override bool CanWrite  
   {  
     get  
     {  
       return false;  
     }  
   }  
   
   public override bool CanConvert(Type objectType)  
   {  
     return typeof(BaseEvent).IsAssignableFrom(objectType);  
   }  
   
   private BaseEvent Create(Type objectType, JObject jObject)  
   {  
     var typename = jObject.Value&lt;string&gt;(&quot;typename&quot;);  
     if (typeof(LocationEvent).Name.Equals(typename))  
     {  
       return new LocationEvent();  
     }  
     else if (typeof(VehicleEvent).Name.Equals(typename))  
     {  
       return new VehicleEvent();  
     }  
     else  
     {  
       return new BaseEvent();  
     }  
   }  
   
   public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)  
   {  
     if (reader.TokenType == JsonToken.Null)  
       return null;  
     // Load JObject from stream   
     JObject jObject = JObject.Load(reader);  
   
     // Create target object based on JObject   
     BaseEvent target = Create(objectType, jObject);  
   
     // Populate the object properties   
     serializer.Populate(jObject.CreateReader(), target);  
   
     return target;  
   }  
   
   public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)  
   {  
     throw new NotImplementedException();  
   }  
 }
&lt;/string&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Decoramos a classe base com &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;JsonConverter&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; [JsonConverter(typeof(BaseEventJsonCreationConverter))]  
 public class BaseEvent 
 {  
   . . .   
 }  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
E agora a &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;WebApi&lt;/span&gt; já faz o &lt;i&gt;deserialize&lt;/i&gt; dos objectos correctamente :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/12638741/deserialising-json-to-derived-types-in-asp-net-web-api#12641541&quot; target=&quot;_blank&quot;&gt;Deserialising Json to derived types in Asp.Net Web API&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/98527909333029978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/03/usar-heranca-nos-parametros-dos-metodos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/98527909333029978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/98527909333029978'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/03/usar-heranca-nos-parametros-dos-metodos.html' title='Usar herança nos parâmetros dos métodos na WebApi'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-767045627788847610</id><published>2014-03-12T09:30:00.000+00:00</published><updated>2014-03-12T09:30:00.934+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Reconstruir e reorganizar todos os índices duma base de dados</title><content type='html'>Um dos problemas que muitas vezes encontro é nas bases de dados de desenvolvimento/qualidade tabelas com índices fragmentados, o que faz com que as pesquisas sejam muito lentas e algumas vezes surjam &lt;i&gt;deadlocks&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Uma forma de resolver o problema é ir tabela a tabela, índice a índice e fazer &lt;i&gt;rebuild&lt;/i&gt; pelo SQL Server Management Studio. Mas isto é uma tarefa demorada e &quot;chata&quot; o que faz com que muitas vezes na realidade ninguém o faça :)&lt;br /&gt;
&lt;br /&gt;
Outra forma de fazer é ter um &lt;i&gt;script&lt;/i&gt; que faz isto automaticamente, este &lt;i&gt;script&lt;/i&gt; que mostro de seguida faz isso mesmo. Ele&amp;nbsp;vai tabela a tabela avaliar a fragmentação de cada índice e baseado nas recomendações&amp;nbsp;da Microsoft se a fragmentação for maior que 30% faz um &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;REBUILD&lt;/span&gt; senão se for entre 5% e 30% faz &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;REORGAZINE&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
NOTA 1: O &lt;i&gt;script&lt;/i&gt; pode demorar algum tempo a executar e pode bloquear tabelas.&lt;br /&gt;
&lt;br /&gt;
NOTA 2: &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/No_Silver_Bullet&quot; target=&quot;_blank&quot;&gt;There are no silver bullets&lt;/a&gt;&quot; isto ajuda as &lt;i&gt;queries&lt;/i&gt; a ficarem mais rápidas ... ou não, nada substitui o bom desenho\implementação da base de dados e se o problema for estrutural não será uma manutenção dos índices que o vai resolver.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;-- http://technet.microsoft.com/en-us/library/ms189858.aspx
-- Microsoft Recommends
-- REBUILD IF &amp;gt; 30% fragmented
-- REORGANIZE IF &amp;gt; 5% and &amp;lt; 30% fragmented&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: green;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;DECLARE 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@schemaName &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;NVARCHAR&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;255&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@tableName &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;NVARCHAR&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;255&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@indexName &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;NVARCHAR&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;255&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@sql &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;NVARCHAR&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;2000&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@fragmentation &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;FLOAT&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;;&lt;/span&gt;&lt;/code&gt;

&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;DECLARE &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;CURSOR FOR
SELECT DISTINCT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;schemas.name &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;AS &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;SchemaName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;tables.name &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;AS &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.name &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;AS &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;IndexName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;dm_db_index_physical_stats.avg_fragmentation_in_percent &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;AS &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Fragmentation&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;FROM &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.dm_db_index_physical_stats &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;DB_ID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;tablename&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;), NULL, NULL, NULL)&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INNER JOIN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.indexes &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;dm_db_index_physical_stats.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;AND &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;dm_db_index_physical_stats.index_id &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.index_id&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INNER JOIN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.index_columns &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;index_columns.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;AND &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.index_id &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;index_columns.index_id&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INNER JOIN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.columns &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;index_columns.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;columns.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;AND &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;index_columns.column_id &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;columns.column_id&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INNER JOIN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.tables &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;indexes.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;tables.&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;OBJECT_ID&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INNER JOIN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;sys.schemas &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;tables.schema_id &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;schemas.schema_id&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&lt;/code&gt;

&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;OPEN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;FETCH &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;NEXT &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;FROM &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor&amp;nbsp;&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;INTO &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@schemaName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@tableName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@indexName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@fragmentation&lt;/span&gt;&lt;/code&gt;

&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;WHILE &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@@FETCH_STATUS &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;0&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;BEGIN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@fragmentation &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;BEGIN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@sql &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;ALTER INDEX &#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@indexName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39; ON &#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@schemaName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;.&#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@tableName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39; REBUILD;&#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;EXEC &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@sql&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;END
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ELSE IF &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@fragmentation &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;BETWEEN &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;5 &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;AND &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;BEGIN
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@sql &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;ALTER INDEX &#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@indexName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39; ON &#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@schemaName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;.&#39; &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@tableName &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39; REORGANIZE;&#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;EXEC &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@sql&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;END

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FETCH &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;NEXT &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;FROM &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;INTO &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@schemaName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@tableName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@indexName&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #434343;&quot;&gt;@fragmentation&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;END

CLOSE &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor&lt;/span&gt;&lt;/code&gt;
&lt;code style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;DEALLOCATE &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;TableCursor

&lt;span style=&quot;color: blue;&quot;&gt;GO&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://technet.microsoft.com/en-us/library/ms189858.aspx&quot; target=&quot;_blank&quot;&gt;Reorganize and Rebuild Indexes&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/767045627788847610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/03/reconstruir-e-reorganizar-todos-os.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/767045627788847610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/767045627788847610'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/03/reconstruir-e-reorganizar-todos-os.html' title='Reconstruir e reorganizar todos os índices duma base de dados'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-4462212629777341879</id><published>2014-03-05T09:30:00.000+00:00</published><updated>2014-03-05T09:30:00.902+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="ef"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlprofiler"/><title type='text'>Queries da Entity Framework 5+ a correr na base de dados master</title><content type='html'>Se criarem um edmx de Entity Framework 5/6 e depois meterem o Sql Profiler a correr verificam que as &lt;i&gt;queries&lt;/i&gt; não estão a correr na base de dados &quot;correcta&quot;, elas estão a correr todas a partir da &lt;i&gt;master&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Isto não impede em nada o funcionamento das aplicações (pois todas as &lt;i&gt;queries&lt;/i&gt; vêm com as tabelas prefixadas da base de dados correcta) mas se tivermos múltiplas bases de dados torna-se complicado filtrar as &lt;i&gt;queries&lt;/i&gt; por base de dados no Sql Profiler ...&lt;br /&gt;
&lt;br /&gt;
Como é que se revolve o &quot;problema&quot;? Simples, basta forçar o atributo &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;MultipleActiveResultSets&lt;/span&gt;&amp;nbsp;na &lt;i&gt;connection string&lt;/i&gt; a &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;false&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Parece que foi uma decisão de desenho sempre que a &lt;i&gt;conection string&lt;/i&gt; tem o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;MultipleActiveResultSets&lt;/span&gt; a &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;true&lt;/span&gt; todas as &lt;i&gt;queries&lt;/i&gt; que passam por essa conexão usam a base de dados &lt;i&gt;master&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Fonte: &lt;a href=&quot;http://stackoverflow.com/questions/5397855/sql-server-profiler-showing-ef-queries-against-master-database&quot; target=&quot;_blank&quot;&gt;SQL Server Profiler showing EF queries against master database?&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/4462212629777341879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/03/queries-da-entity-framework-5-correr-na.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4462212629777341879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4462212629777341879'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/03/queries-da-entity-framework-5-correr-na.html' title='Queries da Entity Framework 5+ a correr na base de dados master'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-7815491786980999586</id><published>2014-02-26T09:30:00.000+00:00</published><updated>2014-04-03T08:35:50.031+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alm"/><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="log4net"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><title type='text'>Ficheiros de configuração do Log4net por ambiente</title><content type='html'>&lt;div&gt;
Uma boa prática a seguir quando se desenvolvem aplicações é ter os ficheiros de configuração separados por ambiente. Por norma usa-se uma pasta&amp;nbsp;&lt;i&gt;config&amp;nbsp;&lt;/i&gt;onde estão os ficheiros de configuração para cada secção do &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;web/app.config&lt;/span&gt; por ambiente:&lt;/div&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eeeeee; border: 0px; font-size: 14px; overflow: auto; padding: 5px; word-wrap: normal;&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;\config\appSettings.local.config
\config\appSettings.staging.config
\config\appSettings.release.config
\config\log4net.local.config
\config\log4net.staging.config
\config\log4net.release.config&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
Depois no &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;web/app.config&lt;/span&gt; através do atributo &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.configsource.aspx&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;configSource&lt;/span&gt;&lt;/a&gt; especifica-se o &lt;i&gt;path&lt;/i&gt; para o ficheiro de configuração de cada secção. Desta forma é facil automatizar o processo de &lt;i&gt;build/deploy&lt;/i&gt; para apenas alterar o &lt;i&gt;path &lt;/i&gt;nos ficheiros &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;web/app.config&lt;/span&gt; para a aplicação passar a usar as configurações do ambiente alvo.&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
O problema surge quando se verifica que o elemento &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;log4net&gt;&lt;/log4net&gt;&lt;/span&gt; não suporta o atributo &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;configSource&lt;/span&gt;&amp;nbsp;...&lt;br /&gt;
&lt;br /&gt;
No entanto é possivél dar a volta configurando a chave &quot;log4net.Config&quot; na secção&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;appSettings&lt;/span&gt;. O &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;log4net&lt;/span&gt; quando é inicializado vê se essa chave de configuração existe, e caso exista vai procurar o ficheiro de configuração na &lt;i&gt;path&lt;/i&gt; especificada para carregar a sua secção de configuração.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-color: #eeeeee; border: 0px; overflow: auto; padding: 5px; word-wrap: normal;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&amp;lt;appSettings&amp;gt;
    ...
    &amp;lt;add key=&quot;log4net.Config&quot; value=&quot;config/log4net.local.config&quot; /&amp;gt;
    ...
&amp;lt;/appSettings&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
Desta forma quando se corre o processo de&amp;nbsp;&lt;i&gt;build/deploy&lt;/i&gt;&amp;nbsp;este altera o &lt;i&gt;path &lt;/i&gt;para o ficheiro&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;appSettings&lt;/span&gt;&amp;nbsp;a usar e depois na chave &quot;log4net.Config&quot; especificamos o &lt;i&gt;path &lt;/i&gt;para o ficheiro de configuração do&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;log4net&lt;/span&gt;&amp;nbsp;para esse ambiente.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7STCnW2ow-0UK294_rU7usu_Gya9QJ2Dv4Gtanu60hrHxA8C1vNpEY-otVGyva8snz1nQxyqHTAquHG0EfxiwTMpuHrDM5uWjk57s86fP0X4atn0_fUDqvmRa21nR4EFgnE9oO073QShA/s1600/configs.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/AVvXsEg7STCnW2ow-0UK294_rU7usu_Gya9QJ2Dv4Gtanu60hrHxA8C1vNpEY-otVGyva8snz1nQxyqHTAquHG0EfxiwTMpuHrDM5uWjk57s86fP0X4atn0_fUDqvmRa21nR4EFgnE9oO073QShA/s1600/configs.png&quot; height=&quot;205&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://zianet.dk/blog/2011/03/07/using-an-external-log4net-config-file/&quot; target=&quot;_blank&quot;&gt;Using an external log4net config file&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/7815491786980999586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/02/ficheiros-de-configuracao-do-log4net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7815491786980999586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/7815491786980999586'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/02/ficheiros-de-configuracao-do-log4net.html' title='Ficheiros de configuração do Log4net por ambiente'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7STCnW2ow-0UK294_rU7usu_Gya9QJ2Dv4Gtanu60hrHxA8C1vNpEY-otVGyva8snz1nQxyqHTAquHG0EfxiwTMpuHrDM5uWjk57s86fP0X4atn0_fUDqvmRa21nR4EFgnE9oO073QShA/s72-c/configs.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-1492141283102219633</id><published>2014-02-19T10:00:00.000+00:00</published><updated>2014-02-19T10:00:09.511+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="visualstudio"/><title type='text'>Como criar um installer offline para o Visual Studio a partir de um Installer Web</title><content type='html'>&lt;h3&gt;
Resumo&lt;/h3&gt;
Se precisarem do pacote de instalação &lt;i&gt;offline &lt;/i&gt;dum visual studio completo ou dum update, para gravar numa &lt;i&gt;network share&lt;/i&gt; ou num dvd, e só têm a versão &lt;i&gt;web&lt;/i&gt;&amp;nbsp;existe uma forma fácil de &quot;converte-lo&quot;. Para isso basta correr o executável a partir da linha de comandos com a opção &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/layout&lt;/span&gt; e ele faz download de todos os ficheiros necessários para a pasta há nossa escolha, depois e só copiar o resultado para onde quisermos.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Passo a passo&lt;/h3&gt;
1) Correr o executável a partir da linha de comandos com o a opção &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/layout&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisBu7_0LHzIGg6hvy1ojHI_6UPh435ebWhn7wnCxy-GeOKWKGxnAykmkllP-pEfmiyOm_AteNdLO_9H3SeABKrOJRIzb_idzWk9pii1AwBBBHyqr0s7cJHtMjv-sqgJ6HC9sYTmqaOPlUM/s1600/commandline.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/AVvXsEisBu7_0LHzIGg6hvy1ojHI_6UPh435ebWhn7wnCxy-GeOKWKGxnAykmkllP-pEfmiyOm_AteNdLO_9H3SeABKrOJRIzb_idzWk9pii1AwBBBHyqr0s7cJHtMjv-sqgJ6HC9sYTmqaOPlUM/s1600/commandline.png&quot; height=&quot;102&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
2) Escolher a pasta de destino&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRWX0Jc9xFSePNBwrzLsscD-Aj4pjYfBNqpYwu5YTVyznWtxtYA4HbeI7MviQZkOjV4KwwtTjRjzBPwodvhU4zAiqkXM_VyLuB0oBaKAFhNH7YXuo22m9UM2R1jL6HnDrSP5j97FGWiIEU/s1600/layout.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/AVvXsEjRWX0Jc9xFSePNBwrzLsscD-Aj4pjYfBNqpYwu5YTVyznWtxtYA4HbeI7MviQZkOjV4KwwtTjRjzBPwodvhU4zAiqkXM_VyLuB0oBaKAFhNH7YXuo22m9UM2R1jL6HnDrSP5j97FGWiIEU/s1600/layout.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
3) Esperar até o &lt;i&gt;download &lt;/i&gt;acabar e ficamos com os ficheiros necessários para a instalação em modo &lt;i&gt;offline&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiukIqbebsbXHk5qp2WGjtAG7brUY4pdrKokQ6Pa7D46ZwqhtogQKoNvU823tPK6va4BghSefo2ZcL1j9Sn1KcO0fp3Cu9k_2s0iGZTkSlQzSj8a6mS-032iyhZAwSMJiab0tayhuvfr2vJ/s1600/result.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/AVvXsEiukIqbebsbXHk5qp2WGjtAG7brUY4pdrKokQ6Pa7D46ZwqhtogQKoNvU823tPK6va4BghSefo2ZcL1j9Sn1KcO0fp3Cu9k_2s0iGZTkSlQzSj8a6mS-032iyhZAwSMJiab0tayhuvfr2vJ/s1600/result.png&quot; height=&quot;426&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://sstjean.blogspot.pt/2013/03/how-to-create-offline-installer-for.html&quot; target=&quot;_blank&quot;&gt;How To: Create an offline installer for Visual Studio from a Web Installer&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/1492141283102219633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/02/como-criar-um-installer-offline-para-o.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/1492141283102219633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/1492141283102219633'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/02/como-criar-um-installer-offline-para-o.html' title='Como criar um installer offline para o Visual Studio a partir de um Installer Web'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisBu7_0LHzIGg6hvy1ojHI_6UPh435ebWhn7wnCxy-GeOKWKGxnAykmkllP-pEfmiyOm_AteNdLO_9H3SeABKrOJRIzb_idzWk9pii1AwBBBHyqr0s7cJHtMjv-sqgJ6HC9sYTmqaOPlUM/s72-c/commandline.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-5018580571134338113</id><published>2014-02-14T12:19:00.000+00:00</published><updated>2014-02-14T12:31:19.532+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="mvc"/><category scheme="http://www.blogger.com/atom/ns#" term="zxing"/><title type='text'>Usar aplicação nativa da ZXing a partir de uma página web</title><content type='html'>A ZXing permite que a partir de uma página &lt;i&gt;web&lt;/i&gt;&amp;nbsp;chamar a aplicação nativa para fazer a leitura&amp;nbsp;de um código (barras/qr/etc) e devolve-lo por query string de volta para a página.&lt;br /&gt;
&lt;br /&gt;
Só temos de criar um link para a página da ZXing com o endereço de &lt;i&gt;callback&lt;/i&gt; em parâmetro:&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; http://zxing.appspot.com/scan?ret=http%3A%2F%2FENDEREÇO_DE_CALLBACK%2F?result={CODE}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Neste endereço o &lt;i&gt;placeholder&lt;/i&gt; &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{CODE}&lt;/span&gt;&amp;nbsp;vai ser substituido pelo resultado da leitura do código e depois na página podemos fazer o que quisermos com ele.&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://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDx5omSdDHUjbGH2PGAoSXTw9m_xLQkk349GXiruuZMd0CPNlFvuFIPeFhldetP7dwvoPIRAj0RUMzQvDcyEuDfYJLWjA8KFg2LmYZE1o28QZWdIPIhuDKJCJXObADzvIbzy1AK1m31ZQO/s1600/6a0120a85dcdae970b0128776ff992970c.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/AVvXsEhDx5omSdDHUjbGH2PGAoSXTw9m_xLQkk349GXiruuZMd0CPNlFvuFIPeFhldetP7dwvoPIRAj0RUMzQvDcyEuDfYJLWjA8KFg2LmYZE1o28QZWdIPIhuDKJCJXObADzvIbzy1AK1m31ZQO/s1600/6a0120a85dcdae970b0128776ff992970c.png&quot; height=&quot;192&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Fica aqui um exemplo (works on my machine/device). Se carregarem no link &quot;TESTAR LEITURA DE CÓDIGO&quot; com um device móvel ele vai abrir a aplicação nativa e depois de lerem um código volta para esta pagina e mostra o resultado dessa leitura.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8132479254774502143#&quot; id=&quot;testLink&quot;&gt;TESTAR LEITURA DE CÓDIGO&lt;/a&gt;
&lt;br /&gt;
&lt;div id=&quot;resultDiv&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;
CÓDIGO LIDO:&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;https://github.com/zxing/zxing/wiki/Scanning-From-Web-Pages&quot; target=&quot;_blank&quot;&gt;ZXing: Scanning From Web Pages&lt;/a&gt;&lt;br /&gt;
&lt;script language=&quot;JavaScript&quot;&gt;
    var isMobile = {
        Android: function () {
            return navigator.userAgent.match(/Android/i);
        },
        BlackBerry: function () {
            return navigator.userAgent.match(/BlackBerry/i);
        },
        iOS: function () {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
        },
        Opera: function () {
            return navigator.userAgent.match(/Opera Mini/i);
        },
        Windows: function () {
            return navigator.userAgent.match(/IEMobile/i);
        },
        any: function () {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
        }
    };

    function getQueryStringParameter(name) {
        name = name.replace(/[\[]/, &quot;\\[&quot;).replace(/[\]]/, &quot;\\]&quot;);
        var regex = new RegExp(&quot;[\\?&amp;]&quot; + name + &quot;=([^&amp;#]*)&quot;),
          results = regex.exec(location.search);
        return results == null ? &quot;&quot; : decodeURIComponent(results[1].replace(/\+/g, &quot; &quot;));
    }

    function setQueryStringParameter(uri, key, value) {
        var re = new RegExp(&quot;([?|&amp;])&quot; + key + &quot;=.*?(&amp;|$)&quot;, &quot;i&quot;);
        var separator = uri.indexOf(&#39;?&#39;) !== -1 ? &quot;&amp;&quot; : &quot;?&quot;;
        if (uri.match(re)) {
            return uri.replace(re, &#39;$1&#39; + key + &quot;=&quot; + value + &#39;$2&#39;);
        }
        else {
            return uri + separator + key + &quot;=&quot; + value;
        }
    }

    document.getElementById(&quot;resultDiv&quot;).innerHTML += getQueryStringParameter(&quot;result&quot;);

    if (isMobile.iOS()) {
        document.getElementById(&quot;testLink&quot;).href = &quot;zxing://scan/?ret=&quot; + escape(setQueryStringParameter(document.URL, &quot;result&quot;, &quot;{CODE}&quot;));
    } else {
        document.getElementById(&quot;testLink&quot;).href = &quot;http://zxing.appspot.com/scan?ret=&quot; + escape(setQueryStringParameter(document.URL, &quot;result&quot;, &quot;{CODE}&quot;));
    }
&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/5018580571134338113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/02/usar-aplicacao-nativa-da-zxing-partir.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5018580571134338113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5018580571134338113'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/02/usar-aplicacao-nativa-da-zxing-partir.html' title='Usar aplicação nativa da ZXing a partir de uma página web'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDx5omSdDHUjbGH2PGAoSXTw9m_xLQkk349GXiruuZMd0CPNlFvuFIPeFhldetP7dwvoPIRAj0RUMzQvDcyEuDfYJLWjA8KFg2LmYZE1o28QZWdIPIhuDKJCJXObADzvIbzy1AK1m31ZQO/s72-c/6a0120a85dcdae970b0128776ff992970c.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-4347301341155538086</id><published>2014-02-14T10:31:00.003+00:00</published><updated>2014-02-17T22:41:39.709+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="js"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><title type='text'>Detetar dispositivo móvel em javascript numa página</title><content type='html'>Segue aqui um &lt;i&gt;helper&lt;/i&gt; em javascript para detetar qual o dispositivo móvel que está a carregar a página:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtfKTzXMSYJ_Y-mHRvJFx_K_2A27pACge0Fwukyrsi662FrKO6435Lo0JTl26kNsPXE1VbG16HFuHNLMPZ4L7d98A1bLOu3X_UEtt0-6DQ4lbNTZrYI_OScZpSkZj8yH7KPWglXdNwRpgT/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;  var isMobile = {  
    Android: function() {  
      return navigator.userAgent.match(/Android/i) ? true : false;  
    },  
    BlackBerry: function() {  
      return navigator.userAgent.match(/BlackBerry/i) ? true : false;  
    },  
    iOS: function() {  
      return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;  
    },  
    Windows: function() {  
      return navigator.userAgent.match(/IEMobile/i) ? true : false;  
    },  
    any: function() {  
      return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows());  
    }  
  };  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Fonte:&amp;nbsp;&lt;a href=&quot;http://www.abeautifulsite.net/blog/2011/11/detecting-mobile-devices-with-javascript/&quot; target=&quot;_blank&quot;&gt;DETECTING MOBILE DEVICES WITH JAVASCRIPT&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/4347301341155538086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/02/detetar-dispositivo-movel-em-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4347301341155538086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/4347301341155538086'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/02/detetar-dispositivo-movel-em-javascript.html' title='Detetar dispositivo móvel em javascript numa página'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-3939070052674402714</id><published>2014-01-31T10:49:00.002+00:00</published><updated>2014-01-31T10:50:50.435+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anti-patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><title type='text'>Programação Orientada a Gambiarra</title><content type='html'>Foi este post que vi no facebook que me fez arrancar com o blog, na altura achei tanta piada que me lembrei de fazer o post com a cheat sheet que usavamos na &lt;a href=&quot;http://www.finsolutia.com/index_home.html&quot; target=&quot;_blank&quot;&gt;finsolutia&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
E realmente faz todo o sentido também deixar aqui os slides para mais tarde recordar :)&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;nbsp;

&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://www.slideshare.net/slideshow/embed_code/30097904&quot; style=&quot;border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;https://www.slideshare.net/josenaldomatos/programao-orientada-a-gambiarra-30097904&quot; target=&quot;_blank&quot; title=&quot;Programação Orientada a Gambiarra&quot;&gt;Programação Orientada a Gambiarra&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/josenaldomatos&quot; target=&quot;_blank&quot;&gt;Josenaldo de Oliveira Matos Filho&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/3939070052674402714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/01/programacao-orientada-gambiarra.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/3939070052674402714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/3939070052674402714'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/01/programacao-orientada-gambiarra.html' title='Programação Orientada a Gambiarra'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-5263287001566895726</id><published>2014-01-27T22:11:00.001+00:00</published><updated>2014-01-27T22:13:53.807+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anti-patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="patterns"/><category scheme="http://www.blogger.com/atom/ns#" term="practices"/><title type='text'>Cheat Sheet: FAIL - Anti-Patterns and Worst Practices</title><content type='html'>&lt;div&gt;
Fica aqui a cheat sheet que usavamos na &lt;a href=&quot;http://www.finsolutia.com/index_home.html&quot; target=&quot;_blank&quot;&gt;finsolutia&lt;/a&gt;,&amp;nbsp;muitos destas más praticas/padrões não são usuais ... mas outros são pão nosso de cada dia :)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;1)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Principles of programming&lt;/b&gt;&lt;/div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; dir=&quot;ltr&quot; style=&quot;font-family: arial,sans,sans-serif; font-size: 13px; table-layout: fixed;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;40&quot;&gt;&lt;/col&gt;&lt;col width=&quot;200&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; padding: 0px 3px 0px 3px; vertical-align: bottom; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; padding: 0px 3px 0px 3px; vertical-align: bottom; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Description&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Prefer&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;FBR&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Fast Beats Right&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;More important to deploy something that appears to work, than to spend time ensuring &quot;correctness&quot;&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;&quot;Continuous attention to technical excellence and good design enhances agility&quot; - Agile Manifesto&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;FCD&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Feeping Creaturitis Driven&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Just when the end is in sight, someone adds just one more feature they are desperately in love with&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;&quot;Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale.&quot; - Agile Manifesto&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;ADP&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Assumption Driven Programming&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Assume the user will only use your software the way you mean for them to.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Practice defensive coding. Watch how users attempt to use the software.&lt;br /&gt;
Treat handling the unexpected like any other feature.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;TP&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Telemarketer Principle&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The best way to retain control of what your code does is to manage exactly which objects it uses and what calls it makes at all time.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The Dependency Inversion Principle can be used to correct this kind of code.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Anti-Patterns&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; dir=&quot;ltr&quot; style=&quot;font-family: arial,sans,sans-serif; font-size: 13px; table-layout: fixed;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;40&quot;&gt;&lt;/col&gt;&lt;col width=&quot;200&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; padding: 0px 3px 0px 3px; vertical-align: bottom; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Description&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Prefer&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;SCP&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Static Cling Pattern&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The easiest way to add functionality or track state is via static/global methods and objects. The Singleton Pattern is also your best friend!&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Dependency Inversion Principle. Your code should depend on interfaces, not static calls which cannot be injected. Static methods are death to testable code.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;VSP&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Vestigial Structure Pattern&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Don&#39;t remove code that&#39;s no longer used just in case it&#39;s needed later! If you&#39;re really brave, comment the code but leave it in there.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;VSP is often a symptom of a muddled architecture, where it is difficult to tell where one feature begins and another ends.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;FOO&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Flags Over Objects&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Instead of using objects, polymorphism, or delegation, it&#39;s much faster to just add a flag to a class and expose it. Who needs inheritance?&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Instead of checking a flag before performing and action, tell the object what to do and let it polymorphically do so.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;TGC&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The God Class&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Strive to create one class to rule them all, a master class, capable of doing anything and everything your application might require.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Follow the Single Responsibility Principle&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;3)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Worst Practices&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; dir=&quot;ltr&quot; style=&quot;font-family: arial,sans,sans-serif; font-size: 13px; table-layout: fixed;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;40&quot;&gt;&lt;/col&gt;&lt;col width=&quot;200&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; padding: 0px 3px 0px 3px; vertical-align: bottom; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Description&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Prefer&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;FOI&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Found on Internet&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Search engines these days are smart; obviously the first blog post found that appears to solve the issue at hand must be the best approach based on our collective wisdom. Get it to compile and move on.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Write a spike solution to ensure you understand the code. Or be sure to write some tests that confirm the code behaves as you expect. Review other approaches - are you asking the right questions?&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;PO&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Premature Optimization&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;All code written should be optimized for performance, even if the resulting design is less clear or elegant, or if the code is question is nowhere near the critical path for the application.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Define performance requirements. Write tests that validate these requirements are being met. Do not optimize unless these tests fails. Identify bottlenecks don&#39;t blindly make &quot;fixes&quot;.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;CPC&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Copy-Paste-Compile&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The feature you&#39;re working on is nearly identical to one already in the system. Just copy, paste, and get the code to compile and you&#39;re done!&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Keep your application code DRY. Refactor common code into shared modules when it makes sense to do so (avoid introducing excessive coupling).&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;CFV&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Copy Folder Versioning&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;When really big changes are imminent, there&#39;s nothing like creating a copy of the current code folder to reassure you that you can always roll back.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Use source control&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;GH&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Golden Hammer&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Your favorite language, framework, library, or tool can do anything! wield it with confidence, and ignore anybody who tells you another tool might be better suited.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Become familiar with a variety of languages, tools, and frameworks. Keep an open mind as you approach problems.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;ST&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Shiny Toy&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Did you hear about the latest beta (tool/language/framework)? I&#39;m sure it will solve all of our application&#39;s problems.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Prefer existing and well-known tools and patterns to unproven ones for production use.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;RTW&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Reinvent The Wheel&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;We can build it better ourselves. No matter what &quot;it&quot; is. We don&#39;t trust anything that was Not Invented Here.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Know and use your application framework (e.g. the .NET framework). Share knowledge within your organization. Learn to make reasonable build vs. buy decisions when appropriate.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;4)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The Big Ball of Mud / Quagmires&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; dir=&quot;ltr&quot; style=&quot;font-family: arial,sans,sans-serif; font-size: 13px; table-layout: fixed;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;40&quot;&gt;&lt;/col&gt;&lt;col width=&quot;200&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;col width=&quot;460&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid #000000; border-right: 1px solid #000000; border-top: 1px solid #000000; padding: 0px 3px 0px 3px; vertical-align: bottom; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; rowspan=&quot;1&quot; style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(0, 0, 0); border-top-style: solid; border-top-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Description&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;BBM&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The Big Ball of Mud / Quagmires&lt;/td&gt;&lt;td colspan=&quot;2&quot; rowspan=&quot;1&quot; style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Spaghetti code jungle. The overall structure of the system may never have been well defined.&lt;br /&gt;
Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.&lt;br /&gt;
These systems show unmistakable signs of unregulated growth, and repeated, expedient repair&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td colspan=&quot;4&quot; rowspan=&quot;1&quot; style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Description&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-weight: bold; padding: 0px 3px; vertical-align: top;&quot;&gt;Prefer&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;TC&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Throwaway Code&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Taking the time to write a proper, well thought out, well documented program might take more time that is available to solve a problem, or more time that the problem merits&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;The real problem with THROWAWAY CODE comes when it isn&#39;t thrown away.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;SUR&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Sweeping it Under the Rug&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;If you can&#39;t make a mess go away, ate least you can hide it.&lt;/td&gt;&lt;td style=&quot;background-color: white; border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; font-size: 100%; overflow: hidden; padding: 0px 3px; vertical-align: top;&quot;&gt;Clean up messy code. There is a limit to how much chaos an individual can tolerate before being overwhelmed.&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;TR&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;Total Rewrite&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;Your code has declined to the point where it is beyond repair, or even comprehension.&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(0, 0, 0); border-bottom-style: solid; border-bottom-width: 1px; border-right-color: rgb(0, 0, 0); border-right-style: solid; border-right-width: 1px; direction: ltr; padding: 0px 3px; vertical-align: top;&quot;&gt;Therefore, throw it away and start over. Doing a fresh draft is a way to overcome neglect. Issues are revisited. A fresh draft adds vigor. You draw back to leap. The quagmire vanishes. The swamp is drained.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/5263287001566895726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2014/01/cheat-sheet-fail-anti-patterns-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5263287001566895726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/5263287001566895726'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2014/01/cheat-sheet-fail-anti-patterns-and.html' title='Cheat Sheet: FAIL - Anti-Patterns and Worst Practices'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8132479254774502143.post-6713849460842185385</id><published>2011-04-21T09:50:00.001+01:00</published><updated>2011-04-21T09:52:26.463+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="test"/><title type='text'>Hello world!</title><content type='html'>&lt;div&gt;This is my first post. It&#39;s purpose is mainly to test the blog/posts layout.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rmlalves.blogspot.com/feeds/6713849460842185385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rmlalves.blogspot.com/2011/04/hello-world.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6713849460842185385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8132479254774502143/posts/default/6713849460842185385'/><link rel='alternate' type='text/html' href='http://rmlalves.blogspot.com/2011/04/hello-world.html' title='Hello world!'/><author><name>Ricardo Alves</name><uri>http://www.blogger.com/profile/16811619105435287563</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjDPmDTB26tln_G3fDSHRhcCG97qobgFk0L2PP-dLTyFdyqyfpw_6hFqgWbW43SzIKmGLgesRFf2cQwgbNlWpp69SG3pEeWjcRadBrwK5DXfJzYS-qK_z9TNRTqtHaEg/s220/newpic.png'/></author><thr:total>1</thr:total></entry></feed>