Archive

Archive for the ‘VB.NET’ Category

[Tip] Error de Visual Studio “Unable to write to output file”

El día de hoy me ocurrió algo extraño, actualmente estoy trabajando en un sistema para la empresa en la que trabajo y tenemos que liberar el producto en los idiomas de Ingles y Español. Bien pues la versión de Español ya esta lista y comenzando a trabajar en la de Ingles (Que si se hace un buen trabajo y organización, solo es cuestión de cambiar textos y alguna que otra parte de código en lo que a manejo de fechas se refiere), pues bien para que todo funcione bien tengo que trabajar en un ambiente en el idioma Ingles.

Lo que hice es cargar el proyecto y comencé a realizar las modificaciones necesarias y cuando genere la solución para ver que todo iba bien, pues nada que Visual Studio me dice: “Unable to write to output file” que en español seria algo así: “No se puede escribir en el fichero de salida” y en mi caso pues se trataba de la carpeta Obj dentro de la solución.

Al parecer es cuestión de Windows :S, porque copie el proyecto de Windows Vista a Windows XP

Cómo arreglamos el error:

Ir desde el Explorador de Windows hasta la carpeta en cuestión, hacemos clic derecho vemos las propiedades y verificamos que no este activo el checkbox de “Solo lectura” y listo!

La verdad es que no se que pase, porque este error en Windows Vista no aparece, pero bueno aquí este tip para que lo arreglen y puedan seguir trabajando.

Saludos!!

 

[VB] Refactorización para VB.NET

Aproximadamente hace 5 meses que me encuentro desarrollando en VB.NET, y existe una herramienta que usaba mucho en C# que extraño un poco. Y recordé que hace algún tiempo instale un Add para VS 2005 para refactorización en VB.NET.

He buscado en google y aquí el install para VS 2008 y VS 2005, espero que les sea de utilidad. La herramienta incluye:

 

  • Add Parameter
  • Encapsulate Field
  • Extract Method
  • Flatten Conditional
  • Introduce Local
  • Inline With Statement
  • Make Implicit
  • Move Initialization To Declaration
  • Property to Method(s)
  • Remove Unused Parameter
  • Simplify Expression
  • Widen Scope
  • Create Overload
  • Encapsulate Field (read only)
  • Extract Property
  • Introduce Constant
  • Introduce Local (replace all)
  • Make Explicit
  • Method to Property
  • Move Type to File
  • Remove Assignments to Parameter
  • Replace Temp with Query
  • Split Initialization from Declaration
  • Widen Scope (promote constant)
  • Create With Statement
  • Extract Interface
  • Extract XML Literal to Resource
  • Introduce Constant (local)
  • Inline Temp
  • Make Explicit (and Name Anonymous Type)
  • Move Declaration Near Reference
  • Name Anonymous Type
  • Reorder Parameters
  • Reverse Conditional
  • Split Temporary Variable
  • Widen Scope (promote to field)

 

Descarga: Refactorización para VB.NET

Etiquetas de Technorati:
Categorías:Recursos .NET, VB.NET

Soporte al IDE de VB 6 ya no mas :(

abril 11, 2008 Deja un comentario

Es una noticia que a muchas personas que crecieron junto con este lenguaje, seguro no les causa mucha alegría, como a mi amigo Gabino, que es de las personas que yo conozco que maneja muy bien este IDE. En cuanto a mí, pues la verdad es que nunca programe una verdadera aplicación sobre VB6, yo inicie a programar hace aproximadamente un par de años, y en ese tiempo por supuesto ya estaba Visual Studio 2005.

pues bueno para aquellos que les interese aquí dejo la fuente en donde encontré la noticia, para que le den una revisadita y si tienen preguntas, ahí puedan preguntar :P.

URL: http://msdn2.microsoft.com/en-us/vbrun/ms788707.aspx

Categorías:VB.NET

Vídeos o Screencast de Visual Basic 2008 (VB9)

diciembre 29, 2007 Deja un comentario

Hola, así es gracias aun comentario, ak este post en donde están los links para acceder a estos videos o screencast, como los quieran llamar sobre la nueva Versión de Visual Basic, estos son referenetes a LINQ, XML, Intellisense, Extensión de Métodos, Objetos, tipos Implícitos, pero en especial a LINQ.

Espero que les sean de utilidad y a disfrutar, todos están en Ingles, pero creo que son bastante entendibles así que aquí los Links:

wmp Partial Methods in VB9 wmpVB9 – Collection Initialisers
wmpVB Intellisense In VS2008 wmpVB9 – Extension Methods
wmpNamespaces in VB with LINQ to XML wmpVB9 – Implicit Types
wmpQuerying XML in VB with LINQ to XML wmpVB9 – Object Initialisers
wmpCreating XML in VB with LINQ to XML wmpLINQ to SQL- Overview
wmpVB9 – Dynamic Interfaces wmpLINQ to SQL- Data Model
wmpVB9 – Dynamic Identifiers wmpLINQ to SQL- Querying the Database
wmpVB9 – XML Support wmpLINQ to SQL- Updating the Database
wmpVB9 – Pieces of LINQ wmpCreate Excel Spreadsheets using LINQ to XML-
wmpVB9 – Anonymous Types wmpGet Started with LINQ

 

Como siempre digo: ya saben a disfrutar 🙂 y feliz año 2008

Categorías:ADO.NET, LINQ, Screencast, VB.NET, XML

Reflector, todo lo que siempre quisiste

diciembre 26, 2007 3 comentarios

Así es en algún lugar de la web me encontré con esta pequeña aplicación, que es muy poderosa, en este pequeño articulo descubriremos que es reflector y para que nos sirve.

primero entendamos lo que hace, o cómo funciona el CLR, antes debe quedar entendido que cuando nosotros presionamos F6 (construimos la solución de nuestra aplicación), lo que creamos es un *.exe o un *.dll, que en si es un código MSIL (Microsoft Intermediate Language), pero como sabemos este es el código que resulta de cada uno de los compiladores del lenguaje de .NET, (csc para C#, por ejemplo), lo que hace el CLR es compilar de nuevo este resultado, y ahí si es en donde es llevado a lenguaje máquina.

Aquí es a lo que harry le llama programación mezclada, un por raro el nombre, pero a lo que se refiere el buen amigo José David, es que es la parte en donde se desarrolla la magia de  .NET que nos permite programar algunos módulos en VB.NET y hacer uso de ellos en una aplicación de C#, de verdad, si no me creen, aquí un ejemplo y luego el uso de Reflector.

Primero creamos un proyecto de VB.NET que sea de tipo librería de clases, que llamaremos Películas (que será una demo de LINQ, todo esto con Visual Studio 2008).

Luego ya en el código, lo primero es importar los nombres de espacio que nos permite trabajar con LINQ y con Listas:

Imports System.Linq
Imports System.Collections.Generic

luego escribimos una clase llamada pelicula con las siguientes propiedades:

Public Class pelicula
        Public Titulo As String
        Public Genero As String
        Public Duracio As Double
        Public Musica As String
    End Class

después de esto agregamos un método que se llama PeliculasTerror, que recibe una variable de tipo string llamada genero, en la que agregamos a una lista de llamada ListaTerror tres películas dos de terror y una para niños, además realizamos una consulta (con ayuda de LINQ), en donde la filtramos por genero, luego mandamos a pantalla el resultado, el código sería el siguiente:

Public Sub PeliculasTerror(ByVal genero As String)
        Dim ListaTerror As New List(Of pelicula)
        Dim peli1 As New pelicula()
        peli1.Titulo = “Alvin y las Ardillas”
        peli1.Genero = “Comedia/Familiar”
        peli1.Duracio = 93
        peli1.Musica = “Cristopher Lennertz”
        ListaTerror.Add(peli1)

        Dim peli2 As New pelicula
        peli2.Titulo = “Gritos de la oscuridad”
        peli2.Genero = “Horror/Thriller”
        peli2.Duracio = 84
        peli2.Musica = “Shirley Walker”
        ListaTerror.Add(peli2)

        Dim peli3 As New pelicula
        peli3.Titulo = “El arte del Pánico”
        peli3.Genero = “Horror/Thriller”
        peli3.Duracio = 98
        peli3.Musica = “Tomandandy”
        ListaTerror.Add(peli3)

Dim peliculaTerro = From terror In ListaTerror Where terror.Genero Like genero Select terror

Console.WriteLine(“Las peliculas del genero {0} son: “, genero)
        For Each terror In peliculaTerro
            Console.WriteLine(“{0}”, terror.Titulo)

        Next

    End Sub

Por último generamos y ya que no hay errores, terminamos con esta parte, ahora para mostrar que realmente es verdad lo que les digo, creamos un proyecto de tipo consola con C# y agregamos la referencia de  Peliculas.dll, que acabamos de crear y creamos una instancia de la referencia y pedimos que el usuario introduzca el género, el código seria como este:

static void Main(string[] args)
        {
            Peliculas.Peliculas peliculaTerror = new Peliculas.Peliculas();
            Console.WriteLine(“Introduce genero: “);
            string genero = Console.ReadLine();
            peliculaTerror.PeliculasTerror(genero);
            Console.ReadLine();
        }

ejecutamos y el resultado seria este:

clip_image002[4]

Como se pueden dar cuenta si es posible, ahora veamos cómo es que funciona Reflector, pero entes de eso veamos, que es. MSIL y como se ve, para ello lo encontramos en la ruta: C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin, aquí lo encontramos abrimos la dll de películas que hicimos en VB.NET que se muestro mas o menos así:

clip_image003[4]

 

 

 

 

 

 

Si damos doble clic en alguno de los métodos o clases, nos muestra el ya famoso código MSIL, por ejemplo demos doble clic en el de PeliculasTerror y veamos que se nos muestra algo así:

clip_image004[4]

Como se pueden dar cuenta este código no es muy entendible pero si = que el que hicimos con C#, para que vean hagan lo mismo, abran de nuevo otro MSIL y abran la aplicación de C#, y den doble clic en void Main, observen que es del mismo tipo:

clip_image005[4]

Insisto aun así no es muy entendible el código así que es aquí en donde entra esta herramienta tan genial, que es Reflector, para eso primero la descargamos de aquí: http://www.aisto.com/roeder/dotnet/Download.aspx?File=Reflector,

Ahora que hace esta herramienta,lo que hace es desensamblar el código MSIL y llevarlo a código .NET, de nuevo no me creen?, mta, pues chequemos el ejemplo jeje.

Veamos, primero al abrir Reflector nos muestra la opción de elegir entre la versión del Framework que queremos usar (ya soporta la ultima versión 3.5 y claro LINQ, por eso la demo si funciona jeje). nos muestra esta opción:

                   clip_image006[4]

Y para que vean que si funciona y muy bien, abrimos la .dll de películas que hicimos en VB.NET en Visual Studio 2008 y este es el resultado:

clip_image007[4]

En la figura se observa claramente las variables que declaramos en esta clase, y además el constructor que .NET nos genera por Default, ven que si es muy interesante esta Herramienta, podemos hacer todo esto con nuestros proyectos, y además podemos elegir el lenguaje en el que nos lo desensambla a .NET. Los lenguajes soportados actualmente son: C#, Visual Basic, Delphi, MC++, Chrome, y el mismo IL. Y también da la posibilidad de elegir la versión de .Net Framework sobre la cual va a mostrar las librerías del mismo .Net Framework. La navegación entre clases también es bastante buena.

No esperen más seguro cuando la comiencen a usar, formara parte de sus herramientas de cabecera.

Saludos desde Toluca de parte de su amigo Norberto, y Feliz año nuevo

Categorías:.NET, C#, LINQ, VB.NET

Microsoft Volta recién salido del horno

diciembre 10, 2007 1 comentario

logo-volta Microsoft Volta es una nueva herramienta de desarrollo Web salida de los laboratorios de Windows Live y de Microsoft Research. Ustedes se preguntaran ¿y qué es Microsoft Volta?, (yo me hice esa pregunta).

Pues bien, Microsoft Volta es una serie de extensiones y bibliotecas para Visual Studio 2008, y a este se preguntaran, pues que no para eso está ASP.NET Futures?, pues sí, pero la novedad  o lo interesante  de Micrsoft Volta es que permite desarrollar aplicaciones Web si inportarnos su funcionalidad, si determinar si se va a ejecutar en el cliente (browser) o en el servidor. Interesante, no?.

volta-hero

A mí se me hace interesante porque de esta manera nosotros podemos desarrollar toda la aplicación y ya después preocuparnos por que partes se ejecutaran de un lado o del otro, incluso determinar que toda una página se ejecute del lado del cliente, además  de esto podemos decidir programar en cualquier lenguaje de .NET que queramos (C#, VB.NET, JScript, PHP, o en el que quieran) y solo determinar en donde se ejecutaran mediante un atributo. Volta se encarga de todo lo demás, incluyendo comunicación, seriación, seguridad, sincronización, etc… entre todas las capas que intervienen.

Creo que suena interesante, al momento que escribo este post tengo que decir que no lo checo a un, pero por supuesto que lo hare, por el  momento ya se está descargando, así que los invito a que hagan lo mismo, ya en otros post publicare cual es mi experiencia con el producto.

 Descarga: Microsoft Volta

URL: http://labs.live.com/Volta/

Saludos desde Toluca!!

Software de Microsoft en Español

diciembre 8, 2007 Deja un comentario

Si eres de las personas que les gusta probar el software antes que los demás ya tienes el software, o te encuentras descargándolo en estos momentos, el registro le proveerá de acceso por períodos de tiempo a los recursos de evaluación, los mismos lo ayudarán a hacer una mejor evaluación para descubrir, evaluar e implementar el software.

top_tech_evaluacionsoft

Entonces este es un buen lugar para ti, te presento el Centro de evaluación de Software de Microsoft en Español, ¿Qué tienes que hacer?

  • Primero: Registrarse para experimentar la evaluación.
  • Siguiente: Descargue el software de prueba.
  • Luego: Revise su bandeja de entrada para obtener los recursos de evaluación.

Así que ya saben que esperan a disfrutara 🙂

URL: http://www.microsoft.com/latam/technet/prodtechnol/eval/default.mspx