Archivo

Archive for the ‘Visual Studio’ Category

[Tips] The breakpoint will nor currently be hit. No symbols have been loaded fot this document

enero 27, 2010 Deja un comentario

Buenas,

Aquí platicándoles lo que me paso con Visual Studio, que no podía debuguear. Les platico mi escenario tengo una aplicación Web de WCF, ahí tengo un Web Services el cual quiero debuguear, este ya está publicado por lo que intento hacer el atacch de IIS y no me permite, me muestra el siguiente mensaje en el breakpoint.

image

Para solucionarlo solo verifique que mi sitio dentro del IIS estuviera en el Application Pool en classic.

image

Y luego reinicie mi IIS desde línea de comandos con la instrucción iisreset, y listo ya todo funcionó correctamente. 😀

En otra ocasión les platico como hacer el attach, que es muy útil cuando tenemos un servicio publicado y queremos hacer debug 😀

Technorati Tags: ,,

[Errores] Error al cargar el paquete ‘Visual Web Developer HTML Source Editor Package’

agosto 27, 2009 19 comentarios

Seguramente esto les sucede a muchos de los usuarios de Visual Studio (en sus diferentes versiones), ya antes había comentado que este error por lo regular se corrige ejecutando la siguiente instrucción:

devenv /resetskippkgs en la ruta: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE> como se ven en la siguiente figura:

image

Bien, pues esto al parecer no es la solución correcta, ya que esto me había pasado con el editor de XAML, y en ese momento así lo solucione, pero ahora me paso con el editor de HTML y después de instalar el Service Pack 1 de SQL Server 2008. Este problema ocurre cuando los idiomas de Windows y de Visual Studio son diferentes, en muchos lugares de internet dicen que reinstales VS 2008 con el idioma correcto y todo ese rollo, pero estarán de acuerdo que esto es muy tedioso y existe otra manera de hacer, más fácil y más rápido, que es la siguiente:

En el Visual Studio nos vamos a Herramientas->Opciones->Entorno->Configuración Internacional y ahí seleccionar el idioma que corresponde a la instalación de Visual Studio.

En mi caso tengo instalado Windows 7 en Ingles, y Visual Studio 2008 en Español, tengo que seleccionar el Idioma español en el Visual y no el que dice: Igual que en Microsoft Windows, como se ve en la figura:

image

Despúes de esto hacemos click en Aceptar y listo esto debe de funcionar, aunque si no funciona, es porque seguro cuando les muestra el mensaje dieron que No a la opción de cargar en un futuro el paquete, por cualquier cosa, ejecuten de nuevo: devenv /resetskippkgs para que esto funcione, y como ven no es necesario reinstalar ni Windows ni mucho menos Visual Studio, espero que les sirva esto y no pierdan tanto tiempo. 😀

Saludos.

Etiquetas de Technorati: ,,

¿Por qué el número del puerto del Servidor de desarrollo ASP.NET es diferente al que se muestra en el explorador?

junio 3, 2009 29 comentarios

Este es una cuestión un poco extraña de repente me comenzó a suceder de un momento a otro. El asunto es el siguiente inicie un nuevo proyecto en Visual Studio 2005, para ser exactos un Sitio Web para hacer unas pruebas en el trabajo, bien cuando intento ver mi sitio en el Explorador (en cualquier explorador, porque hice  pruebas con Firefox, Chrome e IE8) no me muestra la página .aspx, en primera impresión pensé que era error mío, pero me di cuenta que los números de los puertos del Servidor de desarrollo de ASP.NET  y del explorador es diferente:

image

image

Como se pueden dar cuenta en estas imágenes el  puerto es diferente y para que funcione tengo que estar cambiando manualmente el puerto del explorador, pero estarán de acuerdo que esto es muy tedioso.

Lo primero que pensé fue que era culpa del IIS, estuve indagando en Google y en Bing xD y nada :S.

Después pensé que era cosa de Visual Studio y cambia configuración incluso ejecute el sitio desde el prompt con ayuda de WebDev.WebServer.exe y nada, seguía sin funcionar, busque de nuevo en Bing y me encontre con esta solución del Guille

http://www.elguille.info/net/aspnet/numero_puerto_aspnet_development_server_diferente_explorador.aspx

Lo aplique y a la primera me funciono, pero luego cada que reiniciaba VS y quería ver mi sitio tenia que cambiar el puerto y me decía que el puerto estaba siendo usado :S, y pues que tedioso estar cambiando el numero del puerto.

Y seguí mi búsqueda en internet (bing) durante un rato más, hasta que en un foro me encontré con la solución, resulta que esto sucede gracias al vendito NOD32, el es el causante de todo este rollo.

Aquí la solución.

Abrimos NOD32->En Modo avanzado->Hacemos clic en Configuración->Antivirus y anti espía->Protección del tráfico de Internet->Configurar…

image

Se abre una ventana de configuración en donde nos dirigimos a Antivirus y anti espía->HTTP->Navegadores de Internet. Aquí debemos de buscar el EXE de Visual Studio y desmarcarlo para que no se analice la transferencia de datos.

image

Una ves hecho esto, solo hacemos clic en Aceptar y cerramos NOD32 y listo!, ahora si debe de funcionar correctamente, el numero de los puerto del servidor de desarrollo de ASP.NET debe de ser igual al del explorador.

Espero que este post les ayude cuando se encuentren con este error y puedan seguir trabajando.

Saludos!

Etiquetas de Technorati: ,,,

[C#] Haciendo la tarea xD, string, palíndromo, invertir una cadena, etc.

junio 1, 2009 10 comentarios

Este post en respuesta aun comentario en el post de palindrome en C# – explicación. Tengo que mencionar que cualquier otro día (es decir; un fin de semana o un día que no sea lunes xD) no hubiera contestado este comentario con un post, solo hubiera dicho, amigo piénsale un poco y seguro encuentras la respuestas, pero esta vez he llegado al trabajo y como no tengo mucho que hacer aquí rápido la solución a su tarea, solo espero que su profesor no vea este post xD.

El comentario lo pueden revisar aquí:

https://mspnor.wordpress.com/2008/08/10/palindrome-en-c-explicacin/#comment-330

Y aquí la mi pequeño programa que espero que funcione y les sirva (lo pongo por partes para que se entienda):

Main:

static void Main(string[] args)
{
    //variables
    StringBuilder frase = new StringBuilder();

    //Menú
Menu:
    Menu();
    int opcion = int.Parse(Console.ReadLine());
    switch (opcion)
    {
        case 1:
            Console.Clear();
            goto Leer;                   
        case 2:
            Console.Clear();
            MostrarFrase(frase);
            Console.ReadLine();
            goto Menu;
          
        case 3:
            Console.Clear();
            MostrarTotalLetras(frase);
            Console.ReadLine();
            goto Menu;
         
        case 4:
            Console.Clear();
            FraseInvertida(frase);
            Console.ReadLine();
            goto Menu;
           
        case 5:
            Console.Clear();
            EsPalindrome(frase);
            Console.ReadLine();
            goto Menu;
          
        default:
            break;
    }



Leer:
    try
    {
        Console.WriteLine("Cantidad de Palabras que tendrá la frase?");
        int totalPalabras = int.Parse(Console.ReadLine());


    Repetir:
        Console.Clear();
        Console.WriteLine("Introduce Frase: ");


        string[] frase1 = Console.ReadLine().Split(' ');


        for (int i = 0; i < frase1.Length; i++)
        {
            if (totalPalabras == frase1.Length)
            {
                if (i == (frase1.Length - 1))
                    frase.Append(frase1[i]);
                else
                    frase.Append(frase1[i] + " ");
            }
            else if (totalPalabras < frase1.Length)
            {
                Console.Clear();
                Console.WriteLine("Te excediste en el total de palabras!");
                Console.WriteLine("Solo se aceptan {0} palabras para esta frase y escribiste {1}", totalPalabras, frase1.Length);
                Console.WriteLine("Inténtalo de nuevo..");
                Console.ReadLine();
                goto Repetir;
            }
            else
            {
                break;
            }
        }
        Console.ReadLine();
        goto Menu;
    }
    catch (Exception ex)
    {
        Console.Clear();
        Console.WriteLine("Debes seleccionar una opción, escribe un número");
        Console.ReadLine();
        goto Leer;
    }
      
}

Menú:

private static void Menu()
{
    Console.Clear();
    Console.WriteLine("");
    Console.WriteLine("1 – Ingresar una nueva frase.");
    Console.WriteLine("2 – Mostrar la frase actual.");
    Console.WriteLine("3 – Contar la cantidad de letras de la frase actual.");
    Console.WriteLine("4 – Invertir frase actual.");
    Console.WriteLine("5 – ¿Es la frase actual un palíndromo?");
    Console.WriteLine("6 – Terminar el programa.");
    Console.WriteLine("");
    Console.Write("Elige una Opción: ");
}

Mostrar Totales Letras:

private static void MostrarTotalLetras(StringBuilder frase)
        {
            Console.WriteLine("El total de letras en la frase es: {0}",frase.ToString().Length);           
        }

Frase Invertida:

private static void FraseInvertida(StringBuilder frase)
{
    Console.WriteLine("Frase Invertida: {0} ",invertir(frase.ToString()));
}

Función Invertir:

private static string invertir(string frase)  
{  
    string invertido = "";
    for (int i = frase.Length - 1; i >= 0; i--)
        invertido = invertido + frase.Substring(i, 1);  
    return invertido;  
}

Determinar si es Palíndromo la frase:

 

private static void EsPalindrome(StringBuilder frase)
{
    
    string[] palabras = frase.ToString().Split(' ');
    if(verificar(0,palabras, palabras.Length) == 1)
        Console.WriteLine("la frase es palindrome...");
    else if(verificar(0,palabras, palabras.Length) == 3)
        Console.WriteLine("Inténtalo de nuevo...");
    else
        Console.WriteLine("La frase no es palindrome...");

}

Función Verificar:

public static int verificar(int pos, string[] palabra, int largo)
{
    try
    {
        //primera condición, si la palabra en su posición 0 es igual a la ultima,
        //por ejemplo "ojo", verifica si la pos 0 ('o') es igual a la ultima (3-0-1= 2) que también es una 'o'
        if (palabra[pos] == palabra[largo - pos - 1])
        {
            //aquí solo nos indica que si las pos es menor que largo - pos entra e incrementa pos
            //cuando llega al centro de la palabra, nos indica que es un palindrome
            if (pos < largo - pos)
                return (verificar(++pos, palabra, largo));
            else
                return (1);
        }
        //si no entra al if en donde se comaparan los caracteres
        return (0);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Aun no existe una frase para verificar. Primero debes ingresar una frase");
        return 3;
    }
    
}

Creo que la explicación esta de más, ademas se pueden dar una idea de que hace cada función o método si revisan el comentario del otro post.

Aquí pueden descargar el código fuente:

image

Saludos!

Nota: no hago tareas de los lectores del blog, esta ves es porque no tengo otra cosa que hacer y el asunto es relativamente sencillo.

[VS 2008] Desinstalando correctamente Visual Studio 2008

May 20, 2009 1 comentario

Indagando en Google encontré una herramienta para desinstalar adecuadamente cualquier instalación de Visual Studio 2008, según dice que solo sirve Ingles, pero yo lo he probado con Español y me ha funcionado de maravilla, aquí le link de la herramienta:

Run AutoUninstallTool now

Y si lo quieres hacer a patin (manualmente), aquí los pasos:

  1. Go to the Control Panel and launch Add/Remove Programs
  2. Remove all instances of Visual Studio 2008/Codename Orcas products
  3. Remove any remaining supporting products in the specified order.
    1. Remove "MSDN Library for Visual Studio 2008"
    2. Remove "Microsoft SQL Server Compact Edition 3.5"
    3. Remove "Microsoft SQL Server Compact Edition 3.5 Design Tools"
    4. Remove "Microsoft SQL Server Compact Edition 3.5 for Devices"
    5. Remove "Microsoft Visual Studio Performance Collection Tools"
    6. Remove "Windows Mobile 5.0 SDK R2 for Pocket PC"
    7. Remove "Windows Mobile 5.0 SDK R2 for Smartphone"
    8. Remove "Crystal Reports 2007"
    9. Remove "Visual Studio Asset System"
    10. Remove "Microsoft Visual Studio Web Authoring Component / Microsoft Web Designer Tools"
    11. Remove "Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime"
    12. Remove "Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime Language Pack" (non-English editions only)
    13. Remove "Microsoft Visual Studio Tools for Office Runtime 3.0"
    14. Remove "Microsoft Document Explorer"
    15. Remove "Microsoft Document Explorer 2005 Language Pack" (non-English editions only)
    16. Remove "Microsoft Device Emulator 3.0"
    17. Remove "Microsoft .NET Compact Framework 3.5"
    18. Remove "Microsoft .NET Compact Framework 2.0 SP1"
    19. Remove ".NET Framework 2.0 SDK"
    20. Remove "Microsoft Visual Studio Codename Orcas Remote Debugger"
    21. Remove "Microsoft Visual Studio 64bit Prerequisites Beta" (64-bit platforms only)
    22. Remove "Microsoft .NET Framework 3.5"

Es importante que sigas el orden que se muestra al desinstalar estos componentes.

 

[VS 2008] Error en el editor de código de XAML no puedo ver el diseñador.

May 19, 2009 17 comentarios

El día de ayer me ha ocurrido algo un tanto inesperado al momento de instalar Visual Studio 2008. Todo esto es para revisar un proyecto de WPF entonces después de instalar VS2008 me disponía a realizar una demo, pero al momento de abrir el proyecto y comenzar a editar código XAML no podía :S. El error que me mostraba Visual Studio 2008 decía más o menos así:

No hay ningún editor disponible (nombre del archivo .xaml). Asegúrese que se encuentre instalada la aplicación correspondiente.

  • (no capture la pantalla por lo mismo que estaba desesperado :S)
  • Primero busque la solución en Google y pues nada.
  • Luego reinstale Visual Studio 2008 y nada.
  • Luego borre los registros del VS 2008 y reinstale de nuevo, y nada.
  • (ya en este punto estaba un poco desesperado, eso de reinstalar, desinstalar es muy tedioso, y luego en Google no encontraba nada :S)
  • Por ultimo trate de pedir ayuda al Bruno, precisamente en un post de Visual Studio 2010
  • Al final me llego una iluminación, escribí el código XAML en un bloc de notas, lo actualice en el visual y todo funcionaba entonces al generar Visual Studio me dijo:

Microsoft.VisualStudio.Xaml ({E58C2A8B-BCC4-4559-AD59-D62EB6D58A22}) no se cargó debido a errores previos. Para obtener ayuda, póngase en contacto con el proveedor del paquete. Para intentar cargar este paquete de nuevo, escriba ‘devenv /resetskippkgs’ en el símbolo del sistema.

Y así es como lo solucione:

Me dirigí a esta ruta: C:\Program Files\Microsoft Visual Studio 9.0\Common7 hice clic derecho en IDE presionando la tecla Shift y seleccione la opción Abrir ventana de comandos aquí

image

Y ejecute la siguiente instrucción:  ‘devenv /resetskippkgs’. Entonces se reinicio el Visual Studio abrió el mismo proyecto y listo, ya pude editar código XAML 😀

Al parecer a mucha gente le pasa esto con Visual Studio 2008 y con varios tipos de archivos como  .vb, cs, etc.. Espero que si les ocurre algo similar este post les sea de utilidad.

Saludos!

[RSS] Generando RSS desde una Base de Datos con ASP.NET (C#)

Este es un tema ya un poco trillado, pero vamos a hacer un ejemplo de como leer datos de una tabla, y mostrarlos en una página de .aspx. Bien aquí el como hacerlo.

Primero creamos una tabla (si es que no la tenemos) sencilla que tiene el siguiente diseño:

image

Muy sencilla como pueden observar. Ya con nuestra tabla ingresamos unos cuantos datos. Luego creamos un Sitio Web desde Visual Studio con C#. Lo primero que hacemos es crear nuestra cadena de conexión en nuestro archivo Web.config con las siguiente instrucción:

<connectionStrings>
        <add name="cnx" connectionString="Data source=SQLNOR;
                    initial catalog=BD_DEMOS;
                    User id=******;
                    password=******" 
             providerName="System.Data.SqlClient"/>
    </connectionStrings>

Luego desde el código manejado creamos una función que nos regrese nuestra conexión, ya saben por estética xD, la función es el siguiente:

private SqlConnection miConexion()
   {
       return new SqlConnection(WebConfigurationManager.ConnectionStrings["cnx"].ConnectionString);
   }

Después creamos otra Función para llenar nuestro DataSet, el cual vamos a ocupar para crear el archivo XML que mostrara las RSS, la función de para llenar el DataSet tiene la siguiente estructura:

private DataSet LlenarDataSet()
   {
       SqlConnection cn = miConexion();
       SqlCommand com = new 
           SqlCommand("SELECT Titulo, Descripcion, Link, FechaAdd FROM Entradas", cn);
       cn.Open();
       SqlDataAdapter da = new SqlDataAdapter(com);
       DataSet ds = new DataSet();
       da.Fill(ds);
       com.Dispose();
       cn.Close();
       return ds;
   }

En esta parte y por la sencillez del ejemplo, me pase por alto el colocar TRY-CATCH, el utilizar Using para declarar la conexión,  y coloque directamente una instrucción T-SQL cosa que en una aplicación no se debe de hacer, pero vale que es solo un ejemplo, para que sepan como hacerlo.

Por ultimo tenemos que hacer un método que para crear la estructura del XML de nuestros RSS.

private void getCanalRSS(DataSet ds)
   {
       XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, System.Text.Encoding.UTF8);
       writer.WriteStartDocument();
       writer.WriteStartElement("rss");
       writer.WriteAttributeString("version", "2.0");
       writer.WriteStartElement("channel");
       writer.WriteElementString("title", "My Content Pipeline");
       writer.WriteElementString("link", "https://mspnor.wordpress.com");
       writer.WriteElementString("description", "Ejemplo del canal de RSS de mi blog");
       writer.WriteElementString("copyright", "(c) 2008, Blog del nor xD.");

       for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
       {
           writer.WriteStartElement("item");
           writer.WriteElementString("title", ds.Tables[0].Rows[i]["Titulo"].ToString());
           writer.WriteElementString("description", ds.Tables[0].Rows[i]["Descripcion"].ToString());
           writer.WriteElementString("link", ds.Tables[0].Rows[i]["Link"].ToString());
           writer.WriteElementString("pubDate", ds.Tables[0].Rows[i]["FechaAdd"].ToString());
           writer.WriteEndElement();
       }
       writer.WriteEndElement();
       writer.WriteEndElement();
       writer.WriteEndDocument();
       writer.Flush();
       writer.Close();
   }

Bueno pues hasta aquí creo que es todo, solo resta colocar esto en el evento Load de nuestra página:

DataSet ds = LlenarDataSet();
        Response.Clear();
        Response.ContentType = "text/xml";
        getCanalRSS(ds);
        Response.End();

Después generar y por ultimo presionar F5 en nuestro teclado xD.

Antes de terminar quiero comentarles que hice la prueba con IE8, Mozilla y Chrome y el resultado fue que Chrome no reconoce los RSS, por los otros 2 todo muy bien. Creo que es todo y espero que les sea de utilidad.

Saludos!

Iralo!…ese!!..@nor

[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!!

 

[WPF] Conectándome a una Base de Datos SQL

May 10, 2009 14 comentarios

Un pequeño ejemplo de como hacer esto en una aplicación en WPF, esto debido a una pregunta dentro de este Blog. Lo primero que pensé cuando me preguntaron como hacer esto  fue: “Es lo mismo que en Aplicaciones para Windows”. Y aquí un ejemplo sencillo.

Primero nos vamos a SQL Management Studio nos conectamos a nuestro motor de base de datos y creamos una Base sencilla, con una tabla y agregamos valores, esto con la siguientes instrucciones:

--Creamos la base de datos
CREATE DATABASE BdWPFEjemplo
GO

--Indicamos que vamos a trabajar sobre esta nueva bd
USE BdWPFEjemplo
GO

-- Creamos una tabla
CREATE TABLE Alumnos (nombre NVARCHAR(50), apellido NVARCHAR(50), edad INT)
GO

--Asignamos algunos valores a nuestra tabla
INSERT INTO Alumnos VALUES ('Norberto','Rojas',23)

Ya que tenemos nuestra BD, lo que sigue es crear nuestro proyecto de WPF. Una vez aquí lo que vamos a hacer es escribir la siguientes líneas en nuestro archivo app.config

<appSettings>
    <add key="cnx" value="Data Source=.\SQLNOR;
         Initial Catalog=BdWPFEjemplo;
         Persist Security Info=True;
         User ID=*****; 
         Password=*****" />
  </appSettings>

Ahora solo falta ver que es lo que queremos hacer, si solo una consulta, un actualización una inserción o ejecutar algún Procedimiento almacenado que realice una combinación de las acciones antes mencionadas. Para el nuestro caso como es un ejemplo sencillo solo ejecutaremos un SELECT común para mostrar el nombre de los alumnos (en este caso solo el mío) primero agregamos el código para nuestra conexión que es este:

private SqlConnection myConexion()
{
  return new SqlConnection(ConfigurationSettings.AppSettings["cnx"]);
}

Ya con esto solo ejecutaremos nuestra instrucción SELECT con un command y listo. El código es el siguiente:

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                SqlConnection conn = myConexion();
                SqlCommand comm = new SqlCommand("SELECT nombre FROM Alumnos", conn);

                conn.Open();
                txtNombreAlumno.Text =  comm.ExecuteScalar().ToString();
                comm.Dispose();
                conn.Close();

            }            
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
        }

Y si generamos y ejecutamos este es el resultado:

image

Y como pueden ver, el hecho de conectarte a una base de datos, ya sea desde una aplicación de WPF, una aplicación para Windows, un Web Services o alguna aplicación de ASP.NET el proceso es el mismo, y debe de funcionar igual para todo. Espero que este sencillo post les sea útil. Amito Arturo aquí el ejemplo que me pedias, espero que te ayude y cualquier cosa no dudes en comentarlo o pedir ayuda en el Blog.

Slaudos!

[VS – 2005] Pero… que le paso a mi VS

abril 6, 2009 2 comentarios

Después de un buen fin de semana (y me refiero a cosas personales) el día de hoy me dispongo a trabajar (Si aunque no lo crean a trabajar, tengo que trabajar) y como todos los lunes, llego al trabajo, prendo mi maquina, ya saben ejecuto el Messenger, Windows Live Mail, Outlook (por el correo de la empresa) música, checo mis mensajes y me preparo, ya saben a trabajar con Visual Studio (aun con la 2005). Bien hasta aquí todo normal…

Parte de mi trabajo de hoy es hacer una clase sencilla que me permita cargar unos archivos SWF para una aplicación, y pues bien, ya casi estaba terminada mi clase ya con propiedades, constructor y todo el show, me hacia falta declara un método para cargarlos y cuando me dispongo a realizarlo me topo con esto:

image

La verdad es que no se a que se debe que no me muestre los iconos, con colores y descripción, estas son de las cosas curiosas que me han pasado con VS, algunos otros errores extraños. Hace algún tiempo leí en http://geeks.ms un post sobre los errores extraños en VS y por eso es que se me ocurrió colocar este post, por si a alguien le ocurre algo similar que nos lo comparta y ya iremos haciendo una colección de todo lo extraño que pasa con VS.

Espero sus contribuciones.

Saludos.

Etiquetas de Technorati: ,

[VS – C#] Como agregar un SWF en una aplicación de C# en VS 2005 y no morir en el intento

marzo 26, 2009 3 comentarios

El día de hoy, me encontré con un problema un poco peculiar, les platico lo que hago, el error que me manda Visual Studio y como lo solucione.

Mi intención es agregar un archivo SWF en una aplicación, lo primero al crear mi proyecto es agregar el componente COM de Flash Player, que en mi caso en el visual estudio son dos. Entonces ya saben clic derecho en la Barra de herramientas->Elegir elementos y agrego los siguientes componentes:

  • Shockwave Flash Object
  • Shockwave ActiveX Control

Hasta aquí todo normal, bueno ya me aparecen en mi Barra de herramientas, hago doble clic en los dos y cual es mi sorpresa… . Visual Studio me manda el siguiente error:

image

Cosa que me pareció un tanto extraña, pero vaya mi curiosidad es grande y realice lo mismo. Barra de herramientas->Elegir elementos… y me fije en la ruta que se supone que se encontraba el Componente que es:

C:\Windows\System32\Macromed\Flash

Me dirijo a esa ubicación y me doy cuenta que es problema de que no existe la versión 9, a la que hace referencia Visual Studio, sino que se encuentra la versión 10

image

Entonces desde agregar Componentes, hago clic en Examinar.. me voy a esta ruta y agrego dicho componente

image

Y listo ya puedo trabajar con el control ActiveX para agregar un archivo SWF.

En el siguiente post, les comento trabajar con las propiedades de este control.

Etiquetas de Technorati: ,,,

[VSTO] Manejando Estilos de texto en Word

enero 28, 2009 Deja un comentario

Este es el primer post de una serie (espero que sea larga) en donde hablare de como trabajar un poco con VSTO desde .NET, realmente son ejemplos sencillos pero espero que les sean de utilidad sobre todo cuando trabajan con documentos de Office y necesitan optimizar algunos procesos. Iniciamos con el los Estilos en Word

¿Cómo asignar un Estilo rápido a un párrafo en Word?

Public Sub AsignarEstilo(ByVal doc As Word.Document, ByVal nomEstiloRapido As String, ByVal numParrafo As Integer)
        Dim s As Word.Style

        For Each s In doc.Styles
            If s.QuickStyle Then
                If s.NameLocal = nomEstiloRapido Then
                    doc.Paragraphs(numParrafo).Range.Style = s
                End If
            End If
        Next
    End Sub

Explicando el método. Recorremos todo el arreglo de estilos con los que cuenta un Documento de Word, utilizando la propiedad QuickStyle para identificar los estilos rápidos, como el método recibe el nombre del Estilo rápido lo comparamos y para asignarlo al párrafo que le indicamos cuando llamamos al método.

Etiquetas de Technorati: ,,,,

Interoperabilidad entre VSTO y VBA

enero 21, 2009 1 comentario

Muchas veces cuando trabajamos con código VBA para los objetos de Office nos topamos con algunos problemas, tal vez porque no existen funciones con las que estamos acostumbrados a trabajar en .NET como un CType, un CAST o algo parecido. Además de que resulta un tedioso revisar todos los objetos o CommandBars para los objetos de Office 2007.

Es aquí en donde hacemos uso de una de las nuevas características de Visual Studio 2008 y la  ultima versión de Visual Studio Tools for Office que nos permite expandir nuestro código de VBA o en su caso crear un Add para un documento  con funciones previas de unas macros o lo que se les ocurra hacer, bueno les digo como hacer esto de manera sencilla.

1.- Creamos un Documento de Excel y creamos una tabla con “X” datos, que se ve más y creamos un Gráfico de estos datos para que quede más  o menos así:

image

Luego nos vamos a la parte de Visual Basic en la parte de programación y escribimos una función que nos diga que tipo de Gráfico es, que es más o menos así

Public Function NombreGrafico() As String
    Dim graf As Chart
    Set graf = ThisWorkbook.ActiveSheet.Shapes(1).Chart
    NombreGrafico = CSng(graf.ChartType)
End Function

Si ejecutamos esta función nos regresa solo un numero que corresponde al tipo de Grafico que elegimos.

image image

Y es aquí en donde vamos a ver que es lo que podemos hacer con esta Interoperabilidad entre VSTO y VBA. La interoperabilidad entre estas dos tecnologías consiste básicamente en la comunicación y utilización del código que generamos. Se puede comunicar una función de VBA en VSTO y viceversa, es decir; existen 2 maneras de comunicarnos entre si, vamos a ver de que se trata.

La Primera Llamar una función de VBA desde el Visual Studio 2008 (VSTO)

Para realizar esto tenemos que trabajar con una copia de un documento en este caso el que acabamos de hacer con la función de NombreGrafico. Para poder hacer uso de este documento es necesario que lo guardemos como un archivo de Excel habilitado para macros. Mi archivo lo llame ExcelDemo. Ahora lo voy a abrir desde el VS 2008, para esto creo un proyecto de tipo Libro de Excel 2007 pero selecciono la opción Copiar un documento existente y busco el que guarde (recuerden cerrar el archivo con el que vamos a trabajar)

imagen4

Damos clic en Aceptar y nos realiza una copia del documento en la raíz de nuestro proyecto. Ahora podemos comenzar a trabajar con este. Podemos llamar al método que creamos en VBA desde Visual Studio, para esto solo cuando inicie mandaremos el mensaje con el nombre del grafico, entonces escribimos el siguiente código:

Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        MessageBox.Show(Me.Application.Run("NombreGrafico").ToString())
    End Sub

Lo que nos manda un mensaje en pantalla con el numero 93, que corresponde al grafico si. Esta es la primera manera de llamar código entre uno y otro, lo cual trae desventajas porque como se pueden dar cuenta lo corremos como un texto y no tenemos ayuda del intellisense lo que ocasiona muchos errores sino se toman las medidas necesarias.

La segunda y la más importante es la de llamar código de VSTO desde VBA

Bien para esto, necesitamos habilitar una propiedad de nuestro documento en Visual Studio que se llama: EnableVbaCallers la cual especifica si los miembros públicos de la case serán visibles desde VBA al mismo tiempo de habilitar esta propiedad se habilita otra llamada ReferenceAssemblyFromVbaProject que especifica si se debe agregar una referencia a la bilbioteca de tipos del ensamblado al proyecto de VBA en el documento. Al habilitar estas propiedades el VS nos manda un mensaje con las siguientes indicaciones.

image

Lo que nos dice aquí, es que no se guardar el código en el documento ya que recuerden que estamos trabajando sobre una copia del documento original si queremos hacer esto tendremos que copiar el código que generamos y copiarlo en el documento original. Bueno ahora vamos a realizar un método que podamos llamar desde VBA, el código es el siguiente:

    Public Function TipoGrafico() As Excel.Chart
        Return Me.ActiveSheet.Shapes.Item(1).Chart
    End Function

Y ejecutamos nuestro proyecto y cuando abre nuestro archivo de Excel presionamos Alt+F11 para abrir la ficha de programación y si abrimos el código de Thisworkbook.vb podemos observar que genera el siguiente código

Property Get CallVSTOAssembly() As DemoExcel.ThisWorkbook

    Set CallVSTOAssembly = GetManagedClass(Me)

End Property

y para ver que funciona hacemos un método que use este código, y nos queda así:

Public Function TypoGrafico() As String

    Dim graf As Chart

    Set graf = ThisWorkbook.CallVSTOAssembly.TipoGrafico

    TypoGrafico = CSng(graf.ChartType)

End Function

Como se pueden dar cuenta es hace lo mismo que el anterior, pero nos podemos dar cuenta de que si funciona ya que tiene el nombre del método que creamos en VS

image

Espero que les sea de ayuda este post, es sencillo pero ilustrativo, ya estaré platicándoles más acerca de esto, ya que me encuentro trabajando en un proyecto sobre este tema.

Saludos.

Etiquetas de Technorati: ,,,

Descubre ASP.NET 4.0

noviembre 4, 2008 Deja un comentario

Estos últimos días han sido de muchas ilusiones gracias a lo que se mostro en el pasado PDC, y para los desarrolladores de aplicaciones Web también existen, gracias a lo que promete ser la versión 4.0 de ASP.NET, para dar rienda suelta a nuestra imaginación pensando en lo que podremos hacer, aquí algunas de sus características.

image

NET Framework 4.0 y Visual Studio .NET 2010
– Multiples versiones del .NET Framework en VS10 (2.0, 3.5, 4.0)
– .NET Framework 4.0 será compatible completamente con el .NET FX 3.5
– Out of band releases (eg Dynamic Data) roll-up into Fx 4.0
ASP.NET 4.0
– Major plataforma para estandares de desarrollo web
– Soporte a modelos de desarrollo basado en patrones (MVC, TDD)
– Mejoras significativas en el core de ASP.NET (Webforms, Core infrastructure, MVC, Data and Dynamic Data, AJAX)
Web Forms
– Client IDs (more control)
– CSS(Remove the need for CSS adapters, Defer to CSS styles & bypass style properties, Support non-table-based HTML rendering)
– URL Routing (Friendly URLs, Config model for URL routing)
– Viewstate( Disable on page & enable on certain controls, Disable on control & enable on children, GridView / ListView work better without Viewstate)
– ASP.NET Dynamic Data

ASP.NET AJAX
– Continúa la innovacion en ASP.NET AJAX
– Appeal to JS devs
– Provide support for the page developer
– Intellisense incluido en jQuery
– Templates & Databinding
– AJAX Control Toolkit forma parte de ASP.NET
– Centralised script libraries y break-up for better performance

ASP.NET MVC
– More tooling support coming – perhaps some scaffolding like capabilities (create pages for you when you point at an object)
– Async controllers
– Sub-controllers & views
– Declarative controls + form validation

ASP.NET Dynamic Data
– Dynamic Data and MVC(Scaffolding, templates and data-validation)
– Support for abstract data-layer
– Allows scaffolding of objects
– Support for many to many relationships
– Enhanced filtering
– Enhanced metadata(Control over column ordering and filtering)
– New field templates
– DataSource controls (Linq, Entity & Custom Object) enhanced with WhereExpression, SearchExpression, RangeExplression making it easy to create custom filtering
– Dynamic Data over ADO.NET Data Services – just point Dynamic Data at a Data

 

más información http://www.asp.net/

 

Descarga Visual Studio 2010 y .NET Framework 4.0 CTP

octubre 28, 2008 1 comentario

Acaba de ser liberada el primer CTP del Visual Studio 2010 y .NET Framework 4.0 en una imagen de Virtual PC, para poder ejecutarlo es necesario contar con Virtual PC SP1, Windows XP o superior y 7.5GB disponible en el disco. 

f2b64570-4956-4687-b2d7-58842cabbbe8

Descargar Visual Studio 2010 y .NET Framework 4.0 CTP

 

Microsoft® Silverlight™ Tools para Visual Studio 2008 SP1 (RC1) en español =)

octubre 23, 2008 Deja un comentario

Para todos aquellos usuarios del Visual Studio 2008 en Español, ya esta libre para su descarga la versión en este idioma, aunque aun dice RC, esta para la fecha del 21 de Octubre. Este paquete es un complemento para Visual Studio 2008 SP1 con el que se proporcionan herramientas para Microsoft Silverlight 2. Se puede instalar sobre Visual Studio 2008 SP1 o Visual Web Developer 2008 Express con SP1 y proporciona un sistema de proyectos de Silverlight para desarrollar aplicaciones de Silverlight mediante C# o Visual Basic.

C0037913-9E11-4A2D-8FD1-0BA441296CBC

Es aun así un buen aporte para seguir desarrollando aplicaciones ricas en contenido para la web en nuestro idioma, ya saben descarguen lo prueban y no olviden mandar sus comentarios a MS sobre el producto y los errores xD.

 

Descarga:http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed

Semana de Visual Studio 2010 en Channel 9

octubre 2, 2008 Deja un comentario

La noticas, es que ya se esta cocinando la nueva versión de Visual Studio, por el momento conocido como Visual Studio 2010 (seguramente con el tiempo cambiara de nombre). Definitivamente los chicos de MS no paran, aun no tiene mucho que salió VS 2008, unos meses después el SP1 de este, y ahora con la noticia de la nueva versión.

La intensión de este post es la de invitarlos a que chequen los videos que van a publicar en channel 9 por parte del propio equipo  del producto de VSTS, así que aquí les dejo la agenda de esta semana que parece interesante:

La agenda es la siguiente:

Etiquetas de Technorati: ,,,

Visita el Sitio Académico de Microsoft México

septiembre 11, 2008 Deja un comentario

Te invitamos a conocer los diversos programas y herramientas que Microsoft tiene disponibles para ti y con los cuales estoy seguro podrás sacar más provecho a tu aprendizaje. No olvides que estos programas han sido diseñados especialmente para un perfil académico y te ayudarán a que en un futuro cercano estés mejor preparado para enfrentar los retos que demanda este mundo de la era digital.

pag_mex_academic

Para conocer estos programas te invito a que visites el sitio de Académico de Microsoft México en donde podrás encontrar toda la oferta académica que Microsoft tiene y ofrece para ti que eres estudiante. Dentro de este sitio te puedes suscribir para que mensualmente recibas información sobre las tecnologías Microsoft y estés actualizado.

Aquí la lista de los recursos:

 

Así que no esperen más y visiten este excelente sitio, que contiene muchos recursos para estudiantes como tu!

 

Google Chrome trabaja sobre .NET xD

septiembre 5, 2008 1 comentario

Sorprendidos?. Quizá un poco o a muchos les sea indiferente, pero es cierto que desde que el pasado Martes 2 de Septiembre se lanzo la Beta de Google Chrome este ha causado mucho controversia dentro del mundo de Internet. Pero esta noticia si me ha parecido bastante curiosa.

chrome-205_noshadow VisualStudioLogo

Ahora ven porque, lo primero que me paso por lamente cuando descargue Chrome y vi su logo fue el parecido en los colores que usa, seguro a los que están relacionados con el desarrollo bajo la plataforma de .NET se fijaran que se parecen mucho los logos. Pero esto no es todo, resulta que Chrome trabaja por dentro con Visual Studio, y además podemos probarlo, si!!. Puedes descargar y ejecutar, para ejecutar te recomiendo un cafecito, porque si tarda más de 35 minutos, así que aquí la liga del sitio.

URL: http://dev.chromium.org/developers/how-tos/getting-started

Recursos Microsoft Gratis

agosto 29, 2008 1 comentario

Hoy en día, contamos con un gran numero de recursos que nos proporciona Microsoft de manera gratuita, para poder adentrarnos al mundo de la programación, bajo la plataforma de desarrollo .NET. Tanto para estudiantes como para profesionales de TI, a continuación una lista de estos recursos. Espero que les sean de utilidad y hagan buen uso de ellos.

Recursos en Español

  • Profesional Cinco Estrellas (PCE): capacitación gratuita en español de Windows Server, SQL Server, Biztalk Server y Unified Communications: www.mslatam.com/latam/technet/pce2
  • Desarrollador Cinco Estrellas (DCE): capacitación gratuita en español de Visual Studio: www.dce2005.com
  • Microsoft Virtual Academy (MVA): carreras gratuitas de tecnología Microsoft: www.microsoftmva.com

Recursos en INGLES

http://msdn.microsoft.com/en-us/beginner/cc409659.aspx