<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Espacio de Dario Quintana &#187; Tool</title>
	<atom:link href="http://blog.darioquintana.com.ar/category/tool/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.darioquintana.com.ar</link>
	<description></description>
	<lastBuildDate>Tue, 21 Jun 2011 22:51:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>XUnit 1.0.2 y Resharper 4.1</title>
		<link>http://blog.darioquintana.com.ar/2008/09/04/xunit-102-and-resharper-41/</link>
		<comments>http://blog.darioquintana.com.ar/2008/09/04/xunit-102-and-resharper-41/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 18:36:44 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/09/04/xunit-102-and-resharper-41/</guid>
		<description><![CDATA[<p>XUnit todavía no soporta correr los tests en Resharper 4.1, entonces decidí crear una release hecha en casa.</p> <p>Podés descargar este paquete XUnit testeado con Resharper 4.1 y TestDriven 2.14.2190. Este no es un release oficial, podés obtener una oficial en su pagina de <a href="http://codeplex.com/xunit">Codeplex</a>.</p> <a href="http://darioquintana.googlecode.com/files/XUnit_r23042_RS4.1.7z">Descargar</a>]]></description>
			<content:encoded><![CDATA[<p>XUnit todavía no soporta correr los tests en Resharper 4.1, entonces decidí crear una release hecha en casa.</p>
<p>Podés descargar este paquete XUnit testeado con Resharper 4.1 y TestDriven 2.14.2190. Este no es un release oficial, podés obtener una oficial en su pagina de <a href="http://codeplex.com/xunit">Codeplex</a>.</p>
<h4><a href="http://darioquintana.googlecode.com/files/XUnit_r23042_RS4.1.7z">Descargar</a></h4>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/09/04/xunit-102-and-resharper-41/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cuanto se ha cambiado NHibernate desde 1.2.1 hasta 2.0 GA?</title>
		<link>http://blog.darioquintana.com.ar/2008/08/26/cuanto-se-ha-cambiado-nhibernate-desde-121-hasta-20-ga/</link>
		<comments>http://blog.darioquintana.com.ar/2008/08/26/cuanto-se-ha-cambiado-nhibernate-desde-121-hasta-20-ga/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 18:02:48 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/08/26/cuanto-se-ha-cambiado-nhibernate-desde-121-hasta-20-ga/</guid>
		<description><![CDATA[<p><a href="http://codebetter.com/blogs/patricksmacchia/">Patrick Smacchia</a> me envia este link donde analiza NHibernate con <a href="http://www.ndepend.com/">NDepend</a>. </p> <p>Quiero que aprecien el análisis que realizó con esta herramienta, donde el que considero más importante son el análisis de los cambios realizados. En el enlace vean el gráfico con las zonas pintadas de azul, y van a ver cuantos cambios [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://codebetter.com/blogs/patricksmacchia/">Patrick Smacchia</a> me envia este link donde analiza NHibernate con <a href="http://www.ndepend.com/">NDepend</a>. </p>
<p>Quiero que aprecien el análisis que realizó con esta herramienta, donde el que considero más importante son el análisis de los cambios realizados. En el enlace vean el gráfico con las zonas pintadas de azul, y van a ver cuantos cambios se hicieron <img src='http://blog.darioquintana.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h6><a href="http://codebetter.com/blogs/patricksmacchia/archive/2008/08/26/nhibernate-2-0-changes-overview.aspx">NHibernate 2.0: Changes Overview</a></h6>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/08/26/cuanto-se-ha-cambiado-nhibernate-desde-121-hasta-20-ga/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Resultados en aplicaciones reales usando NHibernate Reflection Optimizer</title>
		<link>http://blog.darioquintana.com.ar/2008/07/24/resultados-en-aplicaciones-reales-usando-nhibernate-reflection-optimizer/</link>
		<comments>http://blog.darioquintana.com.ar/2008/07/24/resultados-en-aplicaciones-reales-usando-nhibernate-reflection-optimizer/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 23:57:47 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/07/24/resultados-en-aplicaciones-reales-usando-nhibernate-reflection-optimizer/</guid>
		<description><![CDATA[<p>Quizás algunos van a pensar que esto es una aplicación usando NHibernate, pero la verdad es que no. Como es una aplicación sin NHibernate me las arreglé para convertir DataTables resultados de consultas a objetos de Negocio o colecciones de objetos para poder manejarlos fuera de la capa de Infraestructura de una manera más interesante. [...]]]></description>
			<content:encoded><![CDATA[<p>Quizás algunos van a pensar que esto es una aplicación usando NHibernate, pero la verdad es que no. Como es una aplicación sin NHibernate me las arreglé para convertir DataTables resultados de consultas a objetos de Negocio o colecciones de objetos para poder manejarlos fuera de la capa de Infraestructura de una manera más interesante. </p>
<p>La capa de Infraestructura posee unos helpers para realizar la conversión que nombramos usando algunas convenciones, attributes y reflection! Llega la hora de la optimización y tenemos que afrontar que Reflection no es algo de lo que se debe abusar, pero tampoco está prohibido.</p>
<p>En este <a href="http://blog.darioquintana.com.ar/2008/07/24/nhibernate-how-much-slow-because-the-use-of-reflection/">post</a> mostraba alguna de las bondades de NHibernate como buen ORM y las optimizaciones que posee a la hora de instanciar objetos, o setear/obtener los valores de las properties o fields. </p>
<p>Los Helpers de datos básicamente están encargados de convertir Datatables a Colecciones de Entidades o simplemente a Entidades. Para esto podemos tener métodos como ser: GetEntities y GetEntity</p>
<p><img src="http://uooopaa.googlepages.com/DataHelper.png"> </p>
<p>Las pruebas se hicieron realizaron la misma cantidad de consultas y con los mismo datos en la base. El profiler para realizar las pruebas es DotTrace, de la empresa JetBrains.</p>
<h4>Sin optimizaciones: </h4>
<p><img src="http://uooopaa.googlepages.com/GetEntitiesWithoutOpt.png"> </p>
<h4>Con Optimizaciones (NHibernate Reflection Optimizer)</h4>
<p><img src="http://uooopaa.googlepages.com/GetEntitiesWithOpt.png"> </p>
<p>53 llamadas a GetEntities: 111,18 ms. contra los 66,921 ms. del GetEntities con las optimizaciones. Destaquemos aquí que GetEntities solamente realiza conversiones para obtener colecciones y objetos de negocios, y no realiza ninguna hit a la base de datos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/07/24/resultados-en-aplicaciones-reales-usando-nhibernate-reflection-optimizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>yaml, una alternativa para XML</title>
		<link>http://blog.darioquintana.com.ar/2008/04/28/yaml-an-alternative-for-xml/</link>
		<comments>http://blog.darioquintana.com.ar/2008/04/28/yaml-an-alternative-for-xml/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 17:17:03 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[db4o]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/04/28/yaml-an-alternative-for-xml/</guid>
		<description><![CDATA[<p><a href="http://www.yaml.org/">yaml</a> es un lenguaje de serialización de datos, una alternativa al lenguaje de marcado XML. Es muy interesante, y es muy útil usarlo por que es más legible para el ojo humano que un archivo XML. Está enfocado a la simplicidad. Vamos a ver un ejemplo tomado de la realidad, así es como luciría [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yaml.org/">yaml</a> es un lenguaje de serialización de datos, una alternativa al lenguaje de marcado XML. Es muy interesante, y es muy útil usarlo por que es más legible para el ojo humano que un archivo XML. Está enfocado a la simplicidad. Vamos a ver un ejemplo tomado de la realidad, así es como luciría un archivo de mapeo de NHibernate si fuera escrito en yaml:</p>
<p><img src="http://uooopaa.googlepages.com/yaml_hibernate.png"></p>
<p>Si usas NHiberante, debes darte cuenta que esto es mucho más fácil de leer. Como se puede apreciar la delimitación es hecha por identación. Si conoces lenguajes como Python esto te resultará muy familiar. Por supuesto, esto no está soportado en NHibernate, pero quien sabe, quizás alguien quiere donar algunas horas al OSS y hacerlo <img src='http://blog.darioquintana.com.ar/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Quizás una notoria desventaja es que yaml no posee esquema (schema). Y podés darte cuenta de las características que nos estamos perdiendo por esto, la más importante: validación de un documento yaml.</p>
<p>En .Net-landia no es tan popular, de hecho no lo es, pero en lenguajes como Python, Php, Perl, C++ se usa mucho. En el nuevo bebé de Google: <a href="http://code.google.com/appengine/">Google App Engine</a>, el cual tiene como lenguaje principal a Python (actualmente es el único lenguaje que soporta), usa yaml para los archivos de configuración.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/04/28/yaml-an-alternative-for-xml/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>XUnit 1.0 &#8211; Usando ReSharper como Runner</title>
		<link>http://blog.darioquintana.com.ar/2008/04/24/xunit-10-usando-resharper-como-runner/</link>
		<comments>http://blog.darioquintana.com.ar/2008/04/24/xunit-10-usando-resharper-como-runner/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 16:22:19 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/04/24/xunit-10-usando-resharper-como-runner/</guid>
		<description><![CDATA[<p>Hoy me enter&#233; de este lanzamiento que de manera particular lo estaba esperando. Hace un tiempo atr&#225;s cuando este proyecto estaba en pa&#241;ales, <a href="http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/">estuvimos</a> hablando un poco sobre &#233;l. </p> <p>Recordemos que existen muchos frameworks para realizar Unit Testing, y XUnit es un proyecto particular, tiene diferencias bien marcadas con respecto a otros frameworks [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy me enter&#233; de este lanzamiento que de manera particular lo estaba esperando. Hace un tiempo atr&#225;s cuando este proyecto estaba en pa&#241;ales, <a href="http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/">estuvimos</a> hablando un poco sobre &#233;l. </p>
<p>Recordemos que existen muchos frameworks para realizar Unit Testing, y XUnit es un proyecto particular, tiene diferencias bien marcadas con respecto a otros frameworks como por ejemplo NUnit. Si bien el creador de XUnit es el mismo que cre&#243; NUnit, la principal idea de la creaci&#243;n de otro framework de testeo fue alejarse de algunos aspectos intr&#237;nsecos que NUnit los ten&#237;a fuertemente heredados de su fuente de inspiraci&#243;n JUnit.</p>
<p> <a href="http://www.codeplex.com/xunit/Release/ProjectReleases.aspx?ReleaseId=12516"><br />
<h4>Descargar XUnit 1.0</h4>
<p> </a>
<p>Para correr los tests podemos utilizar diferentes runners:</p>
<ul>
<li>xunit.console (se distribuye con los binarios de XUnit)</li>
<li>xunit.gui (se distribuye con los binarios de XUnit)</li>
<li><a href="http://www.testdriven.net/">TestDriven</a> (se integra con Visual Studio)</li>
<li><a href="http://www.jetbrains.com/resharper/download/">Resharper</a> 3.1 (se integra con Visual Studio)</li>
</ul>
<p>Aqu&#237; tienen una captura para que vean en acci&#243;n a XUnit corriendo desde ReSharper:</p>
<p><img src="http://uooopaa.googlepages.com/XUnit10_ReSharper.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/04/24/xunit-10-usando-resharper-como-runner/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>xUnit.Net &#8211; Excepciones Esperadas</title>
		<link>http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/</link>
		<comments>http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 03:27:34 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/</guid>
		<description><![CDATA[<p>Para los que no estaban enterados, el autor de NUnit saca a la luz este <a href="http://jamesnewkirk.typepad.com/posts/2007/09/announcing-xuni.html">nuevo Framework de unit&#160;testing</a>. La intención de un nuevo Framework de Testing para .Net parecería&#160;querer reinventar la rueda, pero no lo es. Muchas practicas que se hacían en NUnit (y muchas de estas heredadas de JUnit) no van a [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que no estaban enterados, el autor de NUnit saca a la luz este <a href="http://jamesnewkirk.typepad.com/posts/2007/09/announcing-xuni.html">nuevo Framework de unit&nbsp;testing</a>. La intención de un nuevo Framework de Testing para .Net parecería&nbsp;querer reinventar la rueda, pero no lo es. Muchas practicas que se hacían en NUnit (y muchas de estas heredadas de JUnit) no van a estar disponibles -para bien de nuestro código según argumenta James Newkirk. </p>
<p>Uno de los cambios: No va más el ExpectedException. Y el argumento de su desaparición es válido: Puede que una linea de codigo arroje esa excepción, y no sea la linea de codigo que estamos esperando a que lo haga. Ahora debemos hacerlos así:&nbsp;</p>
<pre class="csharpcode">        [Test]
        <span class="kwrd">public</span> <span class="kwrd">void</span> NeuronNotConnected()
        {
            INeuron n = <span class="kwrd">new</span> SigmoidalNeuron();

            Assert.Throws&lt;BpnException&gt;(
                <span class="kwrd">delegate</span>
                {
                    <span class="kwrd">double</span> foo = n.Net.Value;
                });
        }</pre>
<p>Esta es la pagina del proyecto <a title="http://www.codeplex.com/xunit" href="http://www.codeplex.com/xunit">http://www.codeplex.com/xunit</a>.</p>
<p>Y para correr los test con Visual Studio pueden usar <a title="http://www.testdriven.net/" href="http://www.testdriven.net/">http://www.testdriven.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/10/08/xunitnet-excepciones-esperadas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>uNHAddins: UnOfficial NHibernate AddIns</title>
		<link>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/</link>
		<comments>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 04:27:19 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[uNHAddIns]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/</guid>
		<description><![CDATA[<p>Fabio Maulo, con quien tengo el honor de moderar a <a href="http://groups.google.com/group/nhibernate-hispano">NHibernate-Hispano</a>, ah puesto a nuestra disposición este nuevo proyecto llamado <a href="http://code.google.com/p/unhaddins">uNHAddIns</a>.</p> <p>UnOfficial NHibernate Addins nos provee recursos para interactuar con NHibernate que no están en la versión Oficial de NHibernate, una especie de paquete Contrib, al cual podemos hacer llegar requerimientos ó inquietudes [...]]]></description>
			<content:encoded><![CDATA[<p>Fabio Maulo, con quien tengo el honor de moderar a <a href="http://groups.google.com/group/nhibernate-hispano">NHibernate-Hispano</a>, ah puesto a nuestra disposición este nuevo proyecto llamado <a href="http://code.google.com/p/unhaddins">uNHAddIns</a>.</p>
<p>UnOfficial NHibernate Addins nos provee recursos para interactuar con NHibernate que no están en la versión Oficial de NHibernate, una especie de paquete Contrib, al cual podemos hacer llegar requerimientos ó inquietudes para tenerlas en cuenta y en un futuro hacerlas formar parte del framework.</p>
<p>Por ahora,&nbsp; ya podemos disfrutar de features: DetachedCriteria, DetachedQuery, DetachedDynQuery y Pagination.</p>
<p>DetachedQuery&nbsp;es el hermano de DetachedCriteria. DetachedCriteria existe actualmente en el core de NHibernate, pero no habia algo similar para HQL. </p>
<p>Se utiliza DetachedQuery/DetachedCriteria en lugares donde no contamos con una ISession. Es un modo de retardar hasta el ultimo momento la asociación del query con la sesión y esto ayuda a jugar mucho en las implementaciones de DAO Genericas.</p>
<p>Recursos:</p>
<ul>
<li><a href="http://unhaddins.googlecode.com">Página del Proyecto</a></li>
<li><a href="http://groups.google.com/group/unhaddins">Grupo de Discusión de uNHAddIns.</a></li>
<li><a title="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires" href="http://code.google.com/p/unhaddins/wiki/LesTroisMousquetaires">LesTroisMousquetaires:DetachedCriteria,DetachedQuery y DetachedDynQuery</a></li>
<li><a href="http://code.google.com/p/unhaddins/downloads/list">Descargas</a></li>
</ul>
<p>Luego postearé codigos de ejemplo, pero pueden unirse al <a href="http://groups.google.com/group/unhaddins">grupo de discución</a> para hacer llegar las preguntas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/09/06/unhaddins-unofficial-nhibernate-addins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVN y versionado de soluciones Visual Studio</title>
		<link>http://blog.darioquintana.com.ar/2007/06/28/svn-y-versionado-de-soluciones-visual-studio/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/28/svn-y-versionado-de-soluciones-visual-studio/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 23:16:19 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/28/svn-y-versionado-de-soluciones-visual-studio/</guid>
		<description><![CDATA[<p>Cuando queremos versionar soluciones de Visual Studio, existen ciertos archivos que se deben incluir en el repositorio, y archivos que no. Si estamos usando Resharper, también vamos omitir los archivos que agrega a nuestras carpetas. La estructura de directorios que propongo es esta:</p> <p></p> <p>En este ejemplo para interactuar con el repositorio SVN, utilizaremos <a [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando queremos versionar soluciones de Visual Studio, existen ciertos archivos que se deben incluir en el repositorio, y archivos que no. Si estamos usando Resharper, también vamos omitir los archivos que agrega a nuestras carpetas. La estructura de directorios que propongo es esta:</p>
<p><img src="http://uooopaa.googlepages.com/svnfolder01.png"></p>
<p>En este ejemplo para interactuar con el repositorio SVN, utilizaremos <a href="http://tortoisesvn.tigris.org/">Tortoise SVN</a>.</p>
<p>Consideremos una solución <em>winApp</em>, que tiene dependencias con la librería <em>NHibernate.dll</em>, que se encuentra en la carpeta&nbsp;<em>lib</em>.&nbsp;La solución en el Visual Studio luce así:
<p><img src="http://uooopaa.googlepages.com/svnsolution.png">
<p>&nbsp;Los archivos de dicha solución&nbsp;serían los siguientes:
<p><img src="http://uooopaa.googlepages.com/svnsolution02.png">&nbsp;
<p>Una vez que tenemos nuestra solución creada, y nuestro repositorio funcionando, realizamos un checkout sobre una carpeta que elijamos, en mi caso es &#8220;D:\checkouts&#8221;. Ahí estaran los archivos que necesitan sincronizarse contra el repositorio. Luego del checkout, la carpeta seguirá vacia, pero lista para la sincronización.
<p>Ahora copiamos nuestras carpetas &#8220;lib&#8221; y &#8220;winApp&#8221; dentro de &#8220;checkouts/&#8221; para agregarlas al versionado. Las seleccionamos y hacemos: TortoiseSVN -&gt; Add&#8230;
<p><img src="http://uooopaa.googlepages.com/svnAdd.png">
<p>Ahora tenemos que seleccionar los archivos que vamos a versionar. Dicho de manera contraria, eliminamos archivos que no deseamos que estén en el repositorio.&nbsp;Los archivos no versionables son:
<ul>
<li>Carpeta bin/ y su contenido.
<li>Carpeta obj/ y su contenido.
<li>Carpeta _ReSharper.*/ y su contenido.
<li>Archivo *.resharper
<li>Archivo *.suo</li>
</ul>
<p>Y la selección debe quedar similar a esto:
<p><img src="http://uooopaa.googlepages.com/svnAdd02.png">
<p>Una vez que agregamos los archivos, realicemos el commit !</p>
<p><img src="http://uooopaa.googlepages.com/svncommit.png"></p>
<p>Los archivos que&nbsp;no participan en el versionado&nbsp;son los desmarcados. Y luego el repositorio debería lucir así:</p>
<p><img src="http://uooopaa.googlepages.com/svnrepositorio.png"> </p>
<p>Listo, tenemos nuestras solución sincronizada y versionada ! </p>
<p>Como tip final, podemos usar <a href="http://ankhsvn.tigris.org/">AnkhSVN</a>, un plugin para Visual Studio que nos permite gestionar los comandos de SVN desde Visual Studio.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/28/svn-y-versionado-de-soluciones-visual-studio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linking assemblies</title>
		<link>http://blog.darioquintana.com.ar/2007/06/28/linking-assemblies/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/28/linking-assemblies/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 04:52:18 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/28/linking-assemblies/</guid>
		<description><![CDATA[<p><a href="http://www.mono-project.com/Linker">Linker</a>, es una libreria que escribió <a href="http://evain.net/blog/">Jb</a>, y se encarga de reducir al mínimo el conjunto de funciones assemblies para que un conjunto de programas puedan correr. En otras palabras, toma las librerias que necesita un programa y elimina de ellas los métodos ó tipos que no son necesarios.</p> <p>Pueden obtener el <a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mono-project.com/Linker">Linker</a>, es una libreria que escribió <a href="http://evain.net/blog/">Jb</a>, y se encarga de reducir al mínimo el conjunto de funciones assemblies para que un conjunto de programas puedan correr. En otras palabras, toma las librerias que necesita un programa y elimina de ellas los métodos ó tipos que no son necesarios.</p>
<p>Pueden obtener el <a href="http://anonsvn.mono-project.com/source/trunk/cecil/linker/">código del SVN</a>, y compilarlo. Requiere <a href="http://anonsvn.mono-project.com/source/trunk/cecil/lib/">Mono.Cecil</a>. </p>
<p>Linker es una simple aplicación de consola, y toda la magia ocurre en una sola linea de comandos.&nbsp;Antes que nada, veamos que tenemos. Los archivos necesarios para que la aplicación <em>Mono.Sms.exe</em> funcionen son: <em>Castle.Core.dll, Castle.Windsor.dll, Castle.MicroKernel.dll y Castle.DynamicProxy.dll</em>. Ponemos todos archivos en el mismo directorio que el ejecutable Mono.Sms.exe. Luego ejecutamos:</p>
<pre>

monolinker -a Mono.Sms.exe -out linkedfiles/ -x descritor.xml
</pre>
<p>Donde indicamos cual va a ser la aplicación objetivo, el directorio de salida, y el archivo xml descritor con los tipos que se desean preservar despues del proceso de linkeo. Nuestro archivo con los tipos que no queremos que Linker los eliminie es el siguiente:</p>
<pre class="csharpcode"><span class="kwrd">&lt;?</span><span class="html">xml</span> <span class="attr">version</span><span class="kwrd">="1.0"</span> <span class="attr">encoding</span><span class="kwrd">="utf-8"</span> ?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">linker</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">assembly</span> <span class="attr">fullname</span><span class="kwrd">="Castle.Windsor"</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">namespace</span> <span class="attr">fullname</span><span class="kwrd">="Castle.Windsor.Configuration.Interpreters.XmlProcessor.ElementProcessors"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">type</span> <span class="attr">fullname</span><span class="kwrd">="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler"</span><span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">assembly</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">linker</span><span class="kwrd">&gt;</span></pre>
<p>Con esto indicamos que el namespace ElementProcessors, y el tipo CastleSectionHandler deben ser incluidos en la salida. Este descritor lo tuve que elaborar porque Linker omitia el tipo CastleSectionHandler, y tambíén eliminaba los constructores de los tipos contenidos en el namespace ElementProcessors. Como lo supe? Prueba y error.</p>
<p><u>Ahora veamos el resultado:</u></p>
<p><img src="http://uooopaa.googlepages.com/monosmslinked.png"> </p>
<p>Ahora que hemos reducido, el tamaño de los assemblies, imaginense otra herramienta para <strong><u>juntar todos los assemblies en 1 sólo</u></strong>.&nbsp;La filosofía XCOPY de .Net, se convertiria en la COPY, nada más. Por estos caminos anda también Jb, que según dijo, está reescribiendo a <a href="http://anonsvn.mono-project.com/source/trunk/cecil/merge/">monomerge</a> (actualmente se cae).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/28/linking-assemblies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generando aplicaciones con AjGenesis</title>
		<link>http://blog.darioquintana.com.ar/2007/06/27/generando-aplicaciones-con-ajgenesis/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/27/generando-aplicaciones-con-ajgenesis/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 03:20:14 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[codegeneration]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Visual Basic.Net]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/27/generando-aplicaciones-con-ajgenesis/</guid>
		<description><![CDATA[<p>Este es el titulo del <a href="http://msmvps.com/blogs/lopez/archive/2007/06/25/generando-aplicaciones-con-ajgenesis.aspx">tutorial</a> que nos deja <a href="http://msmvps.com/blogs/lopez/">Angel</a> en su blog acerca de su querido <a href="http://www.ajlopez.com/ajgenesis/">AjGenesis</a>. </p> <p>Dos puntos que destaca Angel son:</p> <p>- El modelo del que parte es totalmente definible por el usuario <p>- Las tareas y plantillas a aplicar son totalmente programables y controlables</p> <p>Y de estos [...]]]></description>
			<content:encoded><![CDATA[<p>Este es el titulo del <a href="http://msmvps.com/blogs/lopez/archive/2007/06/25/generando-aplicaciones-con-ajgenesis.aspx">tutorial</a> que nos deja <a href="http://msmvps.com/blogs/lopez/">Angel</a> en su blog acerca de su querido <a href="http://www.ajlopez.com/ajgenesis/">AjGenesis</a>. </p>
<p>Dos puntos que destaca Angel son:</p>
<blockquote><p>- El modelo del que parte es totalmente definible por el usuario
<p>- Las tareas y plantillas a aplicar son totalmente programables y controlables</p>
</blockquote>
<p>Y de estos 2 puntos me quedo con el primero que me alcanza y sobra&nbsp;para decir&nbsp;cuan flexible es AjGenesis. Otras herramientas de generación de código&nbsp;muy útiles (vale la redundancia: todas las herramientas de generación de código son útiles) como MyGeneration, permiten la generación de código a partir de un modelo de datos. Esta es una gran diferencia con AjGenesis, esta permite la generación a partir de un modelo libre, no hay restricciones. El modelo lo podemos obtener desde una base de datos, <a href="http://blog.darioquintana.com.ar/2006/09/05/reflexion-generacion-de-codigo-modelo-para-ajgenesis/">a partir de nuestras clases</a>, o podemos ir desarrollandolo de manera artesanal (a mano).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/27/generando-aplicaciones-con-ajgenesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

