<?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; .NET</title>
	<atom:link href="http://blog.darioquintana.com.ar/category/net/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>Bug con SCOPE_IDENTITY() en Sql Server 2005/2008</title>
		<link>http://blog.darioquintana.com.ar/2009/03/19/bug-con-scope_identity-en-sql-server-20052008/</link>
		<comments>http://blog.darioquintana.com.ar/2009/03/19/bug-con-scope_identity-en-sql-server-20052008/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 14:45:20 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[SqlServer]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2009/03/19/bug-con-scope_identity-en-sql-server-20052008/</guid>
		<description><![CDATA[<p>Bueno, la historia es ya conocida, cuando trabajamos con NHibernate no es conveniente usar identity, hay cosas de NHibernate que no se aprovechan. Cuando se usa Identity y se realiza un Save(), NHibernate tiene que forzar el INSERT para obtener el Id, por lo tanto el concepto de Unidad de trabajo no es explotado.</p> <p>Ahora [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, la historia es ya conocida, cuando trabajamos con NHibernate no es conveniente usar <em>identity</em>, hay cosas de NHibernate que no se aprovechan. Cuando se usa Identity y se realiza un Save(), NHibernate tiene que forzar el INSERT para obtener el Id, por lo tanto el concepto de Unidad de trabajo no es explotado.</p>
<p>Ahora sumémosle este <a href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=328811&amp;wa=wsignin1.0">bug</a>, que la gente del SQL Server team después de evaluar dice: ?Desafortunadamente, después de evaluar las opciones para solucionar el problema, llegamos a la conclusión que no podemos arreglarlo para Sql Server 2008?</p>
<h4>Conclusión</h4>
<p>Si usas <strong>NHibernate+SQL Server</strong>, no te aconsejo <em>identity</em> como generador de identificadores en producción. Una muy buena opción que tiene muchas bondades es usar como generador a <em>hilo</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2009/03/19/bug-con-scope_identity-en-sql-server-20052008/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>C# 4.0: Meet the Design Team</title>
		<link>http://blog.darioquintana.com.ar/2008/07/21/c-40-meet-the-design-team/</link>
		<comments>http://blog.darioquintana.com.ar/2008/07/21/c-40-meet-the-design-team/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 21:58:01 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/07/21/c-40-meet-the-design-team/</guid>
		<description><![CDATA[</p> <p>Hace unos días había dejado el enlace en las lista de C# del MUG (Argentina), y para que no digan que en este blog solo posteo código, hoy les dejo un videito para que se entretengan un rato. Por cierto, sería muy interesante saber cuales serían las nuevas features de C# 4.0, habrá que [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>Hace unos días había dejado el enlace en las lista de C# del MUG (Argentina), y para que no digan que en este blog solo posteo código, hoy les dejo un videito para que se entretengan un rato. Por cierto, sería muy interesante saber cuales serían las nuevas features de C# 4.0, habrá que esperar.</p>
<p><iframe src="http://channel9.msdn.com/posts/Charles/409364/player/" frameborder="0" width="320" scrolling="no" height="325"></iframe><br /><a href="http://channel9.msdn.com/posts/Charles/C-40-Meet-the-Design-Team/">C# 4.0: Meet the Design Team</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/07/21/c-40-meet-the-design-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharpen &#8211; Conversi&#243;n inteligente desde Java a C#</title>
		<link>http://blog.darioquintana.com.ar/2008/05/20/sharpen-conversin-inteligente-desde-java-a-c/</link>
		<comments>http://blog.darioquintana.com.ar/2008/05/20/sharpen-conversin-inteligente-desde-java-a-c/#comments</comments>
		<pubDate>Tue, 20 May 2008 21:04:06 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2008/05/20/sharpen-conversin-inteligente-desde-java-a-c/</guid>
		<description><![CDATA[<p>Este release lo estaba esperando desde hace mucho tiempo por parte de <a href="http://www.db4o.com">Db4o</a>, y los que siguen a Db4o de cerca creo que también. </p> <p>Para los que no están familiarizados, Db4o corre sus aplicaciones en ambas plataformas: Java y .Net. El mayor trabajo se realiza en Java, que luego mediante Sharpen se realiza [...]]]></description>
			<content:encoded><![CDATA[<p>Este release lo estaba esperando desde hace mucho tiempo por parte de <a href="http://www.db4o.com">Db4o</a>, y los que siguen a Db4o de cerca creo que también. </p>
<p>Para los que no están familiarizados, Db4o corre sus aplicaciones en ambas plataformas: Java y .Net. El mayor trabajo se realiza en Java, que luego mediante Sharpen se realiza la conversión hacia C#, si bien no el 100% de Db4o.Net está generado, la mayoría lo está.</p>
<ul>
<li>
<p><a href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen">How To Setup Sharpen</a></p>
<li>
<p><a href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/Example_Conversion">Example Conversion</a></p>
<li>
<p><a href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/Sharpen_Command-Line_Arguments">Sharpen Command-Line Arguments</a></p>
<li>
<p><a href="http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/Sharpen_Annotations">Sharpen Annotations</a></p>
</li>
</ul>
<p>Espero que sirva !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2008/05/20/sharpen-conversin-inteligente-desde-java-a-c/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>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>
		<item>
		<title>Compilando y Configurando Mono.Sms con NAnt en Ubuntu</title>
		<link>http://blog.darioquintana.com.ar/2007/06/26/compilando-y-configurando-monosms-con-nant-en-ubuntu/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/26/compilando-y-configurando-monosms-con-nant-en-ubuntu/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 02:58:16 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[monosms]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/26/compilando-y-configurando-monosms-con-nant-en-ubuntu/</guid>
		<description><![CDATA[<p>Veamos como bajar y compilar Mono.Sms desde el código fuente en Ubuntu:</p> <p>Para hacerlo debemos considerar tener un repositorio que contenga la version de Mono 1.2.4, con versiones anteriores no va a funcionar. Entonces hacemos:</p> $sudo apt-get install mono mono-gmcs mono subversion $svn checkout http://monosms.googlecode.com/svn/trunk/ monosms $cd monosms/ $nant <p>y con esto es suficiente para [...]]]></description>
			<content:encoded><![CDATA[<p>Veamos como bajar y compilar Mono.Sms desde el código fuente en Ubuntu:</p>
<p>Para hacerlo debemos considerar tener un repositorio que contenga la version de Mono 1.2.4, con versiones anteriores no va a funcionar. Entonces hacemos:</p>
<pre>

$sudo apt-get install mono mono-gmcs mono subversion
</pre>
<pre>

$svn checkout http://monosms.googlecode.com/svn/trunk/ monosms
</pre>
<pre>

$cd monosms/
</pre>
<pre>

$nant
</pre>
<p>y con esto es suficiente para compilar&nbsp;Mono.Sms desde el SVN.&nbsp;Y para correrlo:</p>
<pre>

$cd build/
</pre>
<pre>

$mono Mono.Sms.exe
</pre>
<p>Previamente a lanzar la aplicación quizás querramos configurarla, para esto dentro de la sección monosms&nbsp;en el archivo&nbsp;Mono.Sms.exe.config se encuentran algunos parámetros:</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ -->
<pre class="csharpcode">  <span class="kwrd">&lt;</span><span class="html">monosms</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">settings</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="user.name"</span> <span class="attr">value</span><span class="kwrd">="Jorge"</span> <span class="kwrd">/&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="user.email"</span> <span class="attr">value</span><span class="kwrd">="usuario@monosms.com.ar"</span> <span class="kwrd">/&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="smtp.server"</span> <span class="attr">value</span><span class="kwrd">="mail.gigared.com"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">settings</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">monosms</span><span class="kwrd">&gt;</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/26/compilando-y-configurando-monosms-con-nant-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Im&#225;genes como recursos en los assemblies</title>
		<link>http://blog.darioquintana.com.ar/2007/06/26/imgenes-como-recursos-en-los-assemblies/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/26/imgenes-como-recursos-en-los-assemblies/#comments</comments>
		<pubDate>Wed, 27 Jun 2007 02:41:13 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[monosms]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/26/imgenes-como-recursos-en-los-assemblies/</guid>
		<description><![CDATA[<p>Cuando trabajamos con Visual Studio/Sharpdevelop,&#160;podemos&#160;agregar en un&#160;pictureBox una imagen. Lo podemos hacer de 2 maneras (a simple vista): como Project Resource file ó Local Resource. </p> <p>Ahora bien,&#160;otra manera de&#160;hacer esto,&#160;es añadiendo al proyecto las imágenes y declarándolas como Recursos Embebidos, para eso se podría crear una carpeta. Y después para obtener&#160;dichas imagenes utilizariamos un [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando trabajamos con Visual Studio/Sharpdevelop,&nbsp;podemos&nbsp;agregar en un&nbsp;pictureBox una imagen. Lo podemos hacer de 2 maneras (a simple vista): como Project Resource file ó Local Resource. </p>
<p>Ahora bien,&nbsp;otra manera de&nbsp;hacer esto,&nbsp;es añadiendo al proyecto las imágenes y declarándolas como Recursos Embebidos, para eso se podría crear una carpeta. Y después para obtener&nbsp;dichas imagenes utilizariamos un helper que nos retorne los recursos embebidos.</p>
<p>Así es como se está realizando el manejo de imágenes/iconos en <a href="http://code.google.com/p/paint-mono/">Paint.Net.</a> También copié el mismo esquema <a href="http://monosms.googlecode.com/svn/trunk/src/Mono.Sms/Core/MonoSmsResources.cs">(y código)</a> para <a href="http://code.google.com/p/monosms">Mono.Sms</a>. Lo bueno del esquema que utiliza Paint.Net es que permite tener imágenes personalizadas dependiendo de la cultura:</p>
<p><img src="http://uooopaa.googlepages.com/resources-paint.net.png"> </p>
<p>Cuando Paint.Net necesita una imagen, lo solicita a la clase PdnResources, y esta hace lo siguiente: </p>
<ul>
<li>Verifica si posse una imagen personalizada según la Cultura, si encuentra la devuelve.
<li>Sino, busca dentro del assembly por imagenes embebidas, si encuentra la devuelve.</li>
</ul>
<p>Al momento de buscar una imagen para asignarla a un pictureBox podemos hacer esto:</p>
<pre>

pictureBox.Image&nbsp;= PdnResources.GetImage("image.png");
</pre>
<p>El archivo <a href="http://paint-mono.googlecode.com/svn/trunk/src/Resources/PdnResources.cs">PdnResources</a> puede encontrarse <a href="http://paint-mono.googlecode.com/svn/trunk/src/Resources/PdnResources.cs">aquí</a>, y la manera que trata los recursos la considero como una buena práctica.</p>
<p>Mono.Sms contiene todas las imágenes&nbsp;embebidas de esta misma manera. Así se&nbsp;ven los recursos de Mono.Sms&nbsp;con Reflector:</p>
<p>&nbsp;<img src="http://uooopaa.googlepages.com/monosmsresources.png"></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/26/imgenes-como-recursos-en-los-assemblies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono.Sms preview</title>
		<link>http://blog.darioquintana.com.ar/2007/06/23/monosms-preview/</link>
		<comments>http://blog.darioquintana.com.ar/2007/06/23/monosms-preview/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 04:07:03 +0000</pubDate>
		<dc:creator>Dario Quintana</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[monosms]]></category>
		<category><![CDATA[NAnt]]></category>

		<guid isPermaLink="false">http://blog.darioquintana.com.ar/2007/06/23/monosms-preview/</guid>
		<description><![CDATA[<p>Ya está para descargar Mono.Sms, hosteado&#160;como&#160;proyecto en&#160;<a href="http://code.google.com/p/monosms">Code Google</a>.</p> <p> </p> <p>Los binarios&#160;han sido probados en Mono 1.2.4/.Net Framework 2.0</p> <p>Este es el trunk, pueden descargar el código fuente con un cliente de SVN como <a href="http://tortoisesvn.tigris.org/">Tortoise SVN</a>si usan Windows.</p> <a title="http://monosms.googlecode.com/svn/trunk/" href="http://monosms.googlecode.com/svn/trunk/">http://monosms.googlecode.com/svn/trunk/</a> <p>Aquí están los binarios/setup para descargar:</p> <a title="http://code.google.com/p/monosms/downloads/list" href="http://code.google.com/p/monosms/downloads/list">http://code.google.com/p/monosms/downloads/list</a> <p>&#160;Para dejar comentarios [...]]]></description>
			<content:encoded><![CDATA[<p>Ya está para descargar Mono.Sms, hosteado&nbsp;como&nbsp;proyecto en&nbsp;<a href="http://code.google.com/p/monosms">Code Google</a>.</p>
<p><img src="http://uooopaa.googlepages.com/monosms-preview3.png"> </p>
<p>Los binarios&nbsp;han sido probados en Mono 1.2.4/.Net Framework 2.0</p>
<p>Este es el trunk, pueden descargar el<strong> <u>código fuente</u></strong> con un cliente de SVN como <a href="http://tortoisesvn.tigris.org/">Tortoise SVN</a>si usan Windows.</p>
<ul>
<li><a title="http://monosms.googlecode.com/svn/trunk/" href="http://monosms.googlecode.com/svn/trunk/">http://monosms.googlecode.com/svn/trunk/</a></li>
</ul>
<p>Aquí están los <strong><u>binarios/setup</u></strong> para descargar:</p>
<ul>
<li><a title="http://code.google.com/p/monosms/downloads/list" href="http://code.google.com/p/monosms/downloads/list">http://code.google.com/p/monosms/downloads/list</a></li>
</ul>
<p>&nbsp;Para dejar <strong><u>comentarios</u></strong> creé este grupo en google:</p>
<ul>
<li><a title="http://groups.google.com.ar/group/monosms/" href="http://groups.google.com.ar/group/monosms/">http://groups.google.com.ar/group/monosms/</a></li>
</ul>
<p>Voluntarios, envien los <u>parches</u>, reporte de<u> issues/bugs</u> aquí:</p>
<ul>
<li><a title="http://code.google.com/p/monosms/issues/list" href="http://code.google.com/p/monosms/issues/list">http://code.google.com/p/monosms/issues/list</a></li>
</ul>
<p>&nbsp;El código fuente se puede compilar usando <a href="http://nant.sourceforge.net/">NAnt</a>. He incluido el archivo <em>default.build</em> en el SVN para este fin.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.darioquintana.com.ar/2007/06/23/monosms-preview/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

