Archive

Archive for the ‘Visual Studio 2010’ Category

[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: ,,,

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

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

 

[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: ,,,

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: ,,,