NUnit desde Windows Explorer

 
 
En mi anterior pc lo tenia configurado ya que lo habia sacado de internet de algun articulo que no pude encontrar, ahora tuve que hacerlo de cero asi q se los acerco. Si alguno lo encutra util, este pequeño .reg permite seleccionar un assembly y correr directamente un NUnit test sobre el mismo desde el explorador de Windows.
Para eso hay q crear un archivo .reg con la siguiente informacion :
 
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\dllfile\shell\Test with NUnit Console\command]
@="\"c:\\Program Files\\NUnit 2.2\\bin\\nunit-console.exe\" \"%1\" /wait"
 
[HKEY_CLASSES_ROOT\exefile\shell\Test with NUnit Console\command]
@="\"c:\\Program Files\\NUnit 2.2\\bin\\nunit-console.exe\" \"%1\" /wait"
 
y ejecutarlo !!! Ojo con la ubicacion del NUnit 2.2.
Aqui va un ejemplito
 
 
Advertisements

Nuevo Look And Feel de Microsoft Passport

Hace unos dias note que las imagenes para iniciar/cerrar sesion de passport habian cambiado.

Pero hoy m encontre con la nueva pantalla de login para passport.

Buen diseño, mucho mas completa y con acceso al Account Services ($) .

DataTierGenerator – Enterprise Library Edition

Este es un hallazgo interesante !!! Un generador de codigo para Sql2000, basado sobre EntLib 1.0. Todavia no he tenido tiempo de probarlo, pero esa es mi proxima tarea. Se puede descargar desde http://www.geocities.com/haarongonzalez/DTGCodigo.zip, o chequear el proyecto en Sourceforge.net http://sourceforge.net/projects/csharpdatatier/. Aqui hay una descripcion mas completa del funcionamiento del mismo, http://intellekt.ws/blogs/haaron/archive/2005/05/10/641.aspx. Parece que el siguiente paso es crear un proyecto en gotdotnet.com y seguir es proyecto desde alli.

Saludos.

 

Useful Links

Despues de revisar el documento Application Architecture for .Net: Designing Applications and Services que se puede bajar del sitio http://www.microsoft.com/downloads/details.aspx?FamilyId=A08E4A09-7AE3-4942-B466-CC778A3BAB34&displaylang=en. He extraido del mismo todas las referencias a links externos que se mencionan.

For more information about services and related concepts, see “Application Conceptual View” on MSDN (http://msdn.microsoft.com/library/en-us/dnea/html/eaappconland.asp).

For more information about using Visual Basic in host applications, see “Microsoft Visual Chapter 2: Designing the Components of an Application or Service 21 Basic for Applications and Windows DNA 2000” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndna/html/vba4dna.asp).

For information about working with .NET from Microsoft Office, see “Microsoft Office and .NET Interoperability” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office11012001.asp).

For general information about ASP.NET, see the ASP.NET section of MSDN (http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000440) and the official ASP.NET site (http://asp.net).

For more information about the Mobile Internet Toolkit, see the Microsoft Mobile Internet Toolkit page on MSDN (http://msdn.microsoft.com/vstudio/device/mitdefault.asp).

For more resources for Pocket PC platform development and the .NET Compact Framework, see the Smart Device Extensions page on MSDN (http://msdn.microsoft.com/vstudio/device/smartdev.asp).

For more information about designing applications for the Tablet PC, see Design Recommendations for Exploiting the Pocket PC on MSDN (http://msdn.microsoft.com/library/en-us/tpcsdk10/html/whitepapers/designguide/tbconuxdgformfactorpenandink.asp).

For information about how to integrate a purely Office-based UI with your businessprocesses, see “Microsoft Office XP Resource Kit for BizTalk Server Version 2.0” (http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/743/msdncompositedoc.xml).

For more information about working with Office and .NET, see MSDN. The following two articles will help you get started with Office and .NET-based application development:

“Introducing .NET to Office Developers” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office10042001.asp)

“Microsoft Office and .NET Interoperability” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office11012001.asp)

For a more detailed discussion of optimistic locking, see “Designing Data Tier Components and Passing Data Through Tiers” on MSDN (http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/BOAGag.asp?frame=true).

For more information about COMTI and Host Integration Server, see http://www.microsoft.com/hiserver.

For information about handling transactions and isolation level issues, see “Transactions” in “.NET Data Access Architecture Guide” on MSDN (http://msdn.microsoft.com/library/en-us/dnbda/html/daag.asp).

For information about handling transactions and isolation level issues, see “Transactions” in “.NET Data Access Architecture Guide” on MSDN (http://msdn.microsoft.com/library/en-us/dnbda/html/daag.asp).

For performance comparisons of different transaction approaches,see “Performance Comparison: Transaction Control” on MSDN (http://msdn.microsoft.com/library/en-us/Dnbda/html/Bdadotnetarch13.asp).

For more information about Enterprise Services, see “Understanding EnterpriseServices (COM+) in.NET” on MSDN (http://msdn.microsoft.com/library/en-us/dndotnet/html/entserv.asp).

For more information about how pipelines are used with Commerce Server, see “Pipeline Programming Concepts” in the Commerce Server 2000 SDK documentation on MSDN (http://msdn.microsoft.com/library/en-us/comsrv2k/htm/cs_sp_pipelineobj_woce.asp).

For more information about EnterpriseServices Events, see “COM+ Events” in the COM+ SDK documentation on MSDN (http://msdn.microsoft.com/library/en-us/cossdk/htm/pgservices_events_2y9f.asp).

For an in-depth example that shows how to implement a business process using BizTalk Server Orchestration and Visual Studio .NET, see “Building a Scalable Business Process Automation Engine Using BizTalk Server 2002 and Visual Studio .NET” on MSDN (http://msdn.microsoft.com/library/en-us/dnbiz2k2/html/BizTalkVSautoeng.asp).

For more information about integrating BizTalk Server with existing systems, see “Legacy File Integration Using Microsoft BizTalk Server 2000” on MSDN (http://msdn.microsoft.com/library/en-us/dnbiz/html/legacyfileint.asp).

For more information about BizTalk Server Orchestration, read BizTalk Server: The Complete Reference by David Lowe et al (published by Osborne/McGraw Hill) and “Designing BizTalk Orchestrations” in the BizTalk Server 2000 documentation (http://msdn.microsoft.com/library/en-us/biztalks/htm/lat_sched_intro_xiju.asp).

For information about adapters for BizTalk: http://www.microsoft.com/biztalk/evaluation/adapters/adapterslist.asp

The BizTalk Server Adapter’s Developer Guide can be found at: http://www.microsoft.com/biztalk/techinfo/development/wp_adapterdevelopersguide.asp

For more information about the choices of data formats available in your application design, see “Designing Data Tier Components and Passing Data Through Tiers” on MSDN (http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/BOAGag.asp?frame=true).

For detailed design recommendations and sample code that will assist you when developing your business entity components, see “Designing Data Tier Components and Passing Data Through Tiers” on MSDN (http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/BOAGag.asp?frame=true).

For relational database design information, see “Database Design Considerations” in the SQL Server 2000 SDK (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/createdb/cm_8_des_02_62ur.asp)

For information about developing an Exchange Server-based data store, see “Developing Web Storage System Applications” on MSDN (http://msdn.microsoft.com/library/en-us/dnmes2k/html/webstorewp.asp).

For more information about designing data access logic components, see “.NET Data Access Architecture Guide” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daag.asp). Microsoft also provides the Data Access Application Block (http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp), a tested, high-performance data helper component that you can use in your application.

For more information about STRIDE, see “Designing for Securability” on MSDN at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsent7/html/vxcondesigningforsecurability.asp.

“Windows 2000 Kerberos Delegation” (http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/deploy/kerberos.asp)

“Impersonating and Reverting” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconimpersonatingreverting.asp)

For the definition of salt value, see the Security Glossary on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/Security/s_gly.asp).

To choose the right one for your scenario, see “Authentication in ASP.NET: .NET Security Guidance” on MSDN (http://msdn.microsoft.com/library/en-us/dnbda/html/authaspdotnet.asp).

For guidelines on connecting to SQL Server from your distributed applications, see the “.NET Data Access Architecture Guide” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daag.asp).

For more information, see “PrincipalPermissionAttribute Constructor” in the .NET Framework SDK on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemsecuritypermissionsprincipalpermissionattributeclassctortopic.asp?frame=true).

“Code Access Security” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcodeaccesssecurity.asp)

“Introduction to Code Access Security” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconintroductiontocodeaccesssecurity.asp)

“SecurityZone Enumeration” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemsecuritysecurityzoneclasstopic.asp)

For an example of such a use,see “Creating WindowsIdentity and WindowsPrincipals Objects” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcreatingwindowsidentitywindowsprincipalobjects.asp?frame=true).

For more information about the .NET Principal and Identity objects and code samples illustrating this pattern for custom an windows principals, see “Principal and Identity Objects” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconprincipalidentityobjects.asp?frame=true).

For example, with XML Web services, you can implement XML digital signatures in SOAP by using the SignedXml class and SOAP headers. For more information about the SignedXml class, see “SignedXml Class” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityCryptographyXmlSignedXmlClassTopic.asp). For more information about SOAP headers, see “Using SOAP Headers” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconusingsoapheaders.asp?frame=true).

For information about how to implement auditing in SQL Server, see “Auditing SQL Server Activity” in the SQL Server 2000 SDK on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adminsql/ad_security_2ard.asp).

For a Microsoft-provided reference building block for exception management that implements the outlined design, see “Exception Management Application Block for .NET” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.asp).

For detailed guidelines on how to add instrumentation to your application, see “Monitoring in .NET Distributed Application Design” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/monitordotnet.asp?frame=true).

You should instrument your classes as described in “Monitoring in .NET Distributed Application Design” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/monitordotnet.asp?frame=true).

For more information about tracking documents in BizTalk Server, see “Using BizTalk Document Tracking” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/biztalks/htm/lat_track_docs_gsra.asp).

For guidelines on how to add monitoring capabilities to your components, see “Monitoring in .NET Distributed Application Design” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/monitordotnet.asp?frame=true).

For more information about .NET scripting, see “Script Happens .NET” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting06112001.asp?frame=true).

For in-depth technical information on how .NET locates local assemblies when creating objects, see “How the Runtime Locates Assemblies” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhowruntimelocatesassemblies.asp).

For more information about using .NET remoting configuration to expose types, find types, and register channels, see “Registering Remote Objects Using Configuration Files” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconregisteringremoteobjectsusingconfigurationfiles.asp?frame=true).

For more information about storing Web service location information in the configuration file, see “Web References” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxconWebReferences.asp?frame=true).

Microsoft provides UDDI Services natively with Microsoft Windows .NET Server. For more information about this feature, see the Windows .NET Server Web site (http://www.microsoft.com/windows.netserver/developers/default.mspx). If you do not have Microsoft .NET Server, you can also use the Microsoft UDDI SDK (http://www.microsoft.com/downloads/release.asp?ReleaseID=35940) to install UDDI on a local computer.

For more information, see “Architectural Options for Asynchronous Workflow” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdadotnetarch12.asp?frame=true).

For more information about implementing asynchronous operations with .NET remoting, see the Asynchronous Remoting section in the .NET Framework documentation on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconasynchronousremoting.asp).

For more information about deciding between XML Web services and .NETremoting, see “Choosing Communication Options in .NET” in the .NET Framework documentation on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconchoosingcommunicationoptionsinnet.asp).

“COM+ Web Services: The Check-Box Route to XML Web Services” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/comwscheckb.asp?frame=true)

“An Introduction to GXA: Global XML Web Services Architecture” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngxa/html/gloxmlws500.asp?frame=true)

For more information, see “Microsoft Systems Architecture: Internet Data Center” on Microsoft TechNet (http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/idc/default.asp).

For more information about how Web farms are implemented in Microsoft Systems Architecture Internet Data Center, see the Internet Data Center Reference Architecture Guide on TechNet (http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/idc/rag/ragc02.asp).

For more information about using the Session object in ASP.NET–based applications, see “ASP.NET Session State” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp12282000.asp).

For more information about using ViewState in a Web farm, see “Taking a Bite Out of ASP.NET ViewState” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp11222001.asp).

For more information about CLB, see the Application Center home page (http://www.microsoft.com/applicationcenter/).

For more information about implementing clustered SQL Server–based solutions, see Chapter 5 of the Internet Data Center Reference Architecture Guide (http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/idc/rag/ragc05.asp).

For detailed guidelines on how to partition assemblies with regard tocomplex development teams or assembly dependencies, see Chapter 3 of “Team Development with Visual Studio .NET and Visual SourceSafe” on MSDN (http://msdn.microsoft.com/library/?url=/library/en-us/dnbda/html/tdlg_rm.asp?frame=true).

Detailed guidance about choosing the right packaging mechanism for your application and using the right distribution technology is available in “Deploying .NET Applications: Lifecycle Guide” on MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DALGRoadmap.asp)

“.NET Framework SDK: Enabling Profiling” (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconenablingprofiling.asp?frame=true)

“.NET CLR Profiling Services: Track Your Managed Components to Boost Application Performance,” MSDN Magazine, November 2001 (http://msdn.microsoft.com/msdnmag/issues/01/11/NetProf/NetProf.asp)

Reiniciando el IIS desde Visual Studio 2003.

Pues bien, ahora que he empezado a moverme entre diferentes PCs de desarrollo, siempre hay pequeñas cosas muy utiles que extraño. Por ejemplo, un archivo BAT para reiniciar el IIS. El mismo tiene el siguiente codigo dentro:

REM StopISS.cmd

net stop iisadmin /yes

REM StartIIS.cmd

net start iisadmin

net start w3svc

net start smtpsvc

 

Para generar este archivo hay que copiar el codigo anterior en un archivo de texto (RestartIIS.txt) y renombrarlo por .bat (RestartIIS.bat). Luego queda listo para la ejecución del mismo.

 

Para poder aprovecharlo al maximo, por lo general debemos ejecutar este archivo desde dentro del IDE del Visual Studio 2003. Lo que podemos hacer es agregarlo como una External Tool y que quede dentro del IDE.

 

Para esto seleccionamos el menú Tools / External Tools

 

A continuación, agregamos una nueva External Tool. Los datos basicos de la misma son bastante simples, un pequeño titulo para verla en el menú, la selección de nuestro archivo BAT y opcionalmente podemos seleccionar el check “Use Output Window”, para que la ejecución del Bat se muestre dentro de la ventana de Output de Visual Studio 2003.

 

Nuestro menú deberia quedar asi

 

Y luego al ejecutarlo, la ventana de Output deberia mostrar lo siguiente

 

Espero que sea util, saludos.

 

PD: Ojo que si los nombres de los servicios no coinciden o no estan instalado, se puede mostrar un error. Mas completo en El Guille http://www.mundoprogramacion.com/colabora/NET2005/bcapuano_NUnit_desde_Window_Explorer.htm

Deploy automático de los *.config en Visual Studio 2003

Entre tantas cosas interesantes que he encontrado, he visto un par de trucos para automatizar la acción de copiar los archivos *.config que se generan en el root del proyecto de Visual Basic .Net al directorio de compilación (usualmente \bin). Usualmente en C# esto se logra utilizando los eventos de Pre y Post compilación. En el evento PostBuildEvent, se agrega la siguiente instrucción: copy "$(ProjectDir)*.config" "$(TargetDir)"

Pero debido a que los proyectos de Visual Basic .Net no poseen la capacidad de editar los eventos de Pre y Post compilación, esto se torna un poco mas complicado. Una solución es, dentro de la solución que contiene al proyecto VB.Net, agregar un nuevo proyecto del tipo VB.Net, editar el archivo con un editor de texto y agregar dentro del mismo las acciones para realizar en los eventos de Pre y Post compilación. Esto es posible ya que el compilador de VB.Net soporta esta característica pero el IDE no. Por ejemplo:

  1. Editar un archivo de proyecto de C# (.csproj) con un editor de texto.
  2. Ubicar el elemento que define el evento PostBuildEvent. Esta en CSHARP/Build/Settings, en el atributo PostBuildEvent.
  3. Copiar esta línea. Por ejemplo, PostBuildEvent = ‘xcopy /C /I /R /Y  "$(ProjectDir)exceptionHandlingConfiguration.config" "$(ProjectDir)$(OutDir)." > nul copy "$(ProjectDir)*.manifest" "$(ProjectDir)$(OutDir)." > nul ’
  4. Editar un archivo de proyecto de VB.Net con un editor de texto.
  5. Ubicar el elemento que define el evento PostBuildEvent y agregarle la línea que copiamos anteriormente.

Esta es una opción, es la opción que se utiliza por ejemplo en EntLib. Pero existen otras opciones más interesantes. Por ejemplo, instalar un AddIn para el Visual Studio que nos permite definir las acciones de Pre y Post procesamiento, a través de un entorno grafico. (Básicamente modifica luego el archivo del proyecto VB.Net). El mismo se puede encontrar en la página de Ejemplos de Automatización del Visual Studio. Con el nombre de PrePostBuildRulesAddIn.

Y finalmente en www.GotDotNet.com, hay un AddIn mas avanzado, basado en el anterior. Se puede bajar desde la página de su autor http://www.visualbarty.net/#. Si bien no esta completo en cuanto a las macro sustituciones que se deben hacer para poder realizar una copia automática, es una base para hacer de esto un proceso automático (el codigo es bastante simple). El próximo fin de semana tratare de modificarlo para que quede compatible con EntLib y que automáticamente copie los archivos al \Bin $(TargetDir).

Saludos.

Estudiando los Enterprise Library

En estos dias, me he dedicado a estudiar y comprender un poco mas los Enterprise Library lanzados el pasado enero de este año. Durante el mes de marzo tuve la oportunidad de ver unos WebCasts con personas congrandes conocimientos que presentaban cada uno de los componentes de los mismos (Logging, Security, Data Access, Caching, etc.). No pude verlos a todos, pero encontre un link interesante donde se muestra una grabacion de los mismos.

  • Enterprise Library Overview
  • Enterprise Library Configuration Application Block
  • Enterprise Library Data Access Application Block
  • Enterprise Library Caching Application Block
  • Enterprise Library Logging and Instrumentation Application Block
  • Estos links, junto con mucha informacion interesante la obtuve desde el Blog de Bryant Likes(http://blogs.sqlxml.org/bryantlikes). Recorrerlo un poco no hace mal.

    Saludos.

    PD: Para no olvidar

    • Updater Application Block V2.0, webcast recordings

    http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032271289&EventCategory=3

    Google Web Accelerator

    Speed Up the Web

    Google acaba de presentar su nuevo Google Web Accelerator http://webaccelerator.google.com. El mismo corre dentro del Internet Explorer de Microsoft o de Firefox y da mayor velocidad a la navegacion en internet. El funcionamiento del mismo es bastante simple (casi un proxy-cache), ya que cuando se desea navegar una pagina, la peticion pasa primero por Google y se entrega una copia de la pagina que posea Google. Para esto Google ha dispuesto de una serie de servidores que aceleran la carga de los docs HTML. Por ahora el servicio esta disponible solo en USA y Europa.

    Yo lo he usado durante 2 dias, y hasta ahora los resultados son buenos, en especial en las paginas de gran acceso (www.cnn.com por ejemplo). La unica contra que le encuentro, es que al navegar a traves de Google, el mismo registra un historico de navegacion y preferencias por usuario.

    PD: todavia es Beta

    Avanade

    Como cambian las cosas, hace un par d dias seguia mi rutina diaria de desempleado, durmiendo 12 horas al dia y luego todo el dia en Internet. Hoy despues de 2 dias de trabajo, ya me siento mas a gusto !!

    Finalmente consegui entrar en Avanade, trabajando en .Net y mas feliz q nunca. Gracias a todos los que dentro y fuera me ayudan en este nuevo dia a dia !!

    Saludos