Cómo usar la herramienta de configuración de asp.net sin Visual Web Developer 2010

Cuando usaba Visual Web Developer 2010 tenía esta herramienta para crear usuarios y roles del membership:

Ahora bien, si ya te cambiaste a Visual Studio 2013 for Web, habrás notado que quitaron esta opción.

Si quieres correr la herramienta de configuración aún lo puedes hacer en dos pasos sencillos.

Primero, abre un command prompt (sin permisos de administrador) y teclea lo siguiente:

"C:\Program Files\IIS Express\iisexpress.exe" /path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:"/asp.netwebadminfiles" /port:8089 /clr:4.0 /ntlm

En caso de que no cuentes con IIS Express, lo puedes descargar de aquí.

No cierres la ventana oprimiendo la tecla ‘q’. Déjala abierta. Esto mantiene corriendo el servidor web al que te vas a conectar.

Ahora, abre un navegador y teclea lo siguiente:

http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=[Ruta_Exacta_A_La_Aplicacion]\&applicationUrl=/

Por ejemplo, si tu aplicación está en c:\miapp, teclearías lo siguiente:

http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=c:\miapp\&applicationUrl=/

Y listo, ya tienes acceso a la tan extrañada herramienta para crear rápidamente usuarios y roles.

Nota: Si te pide usuario y contraseña, es la misma con la que te logueas a tu PC o servidor.

Referencias:
http://blogs.msdn.com/b/webdev/archive/2013/08/19/asp-net-web-configuration-tool-missing-in-visual-studio-2013.aspx
http://stackoverflow.com/questions/20541680/visual-studio-2013-and-asp-net-web-configuration-tool/20555928#20555928

Cómo migrar los sitios web y app pools de IIS de un servidor a otro

Si quieres migrar la configuración de tus sitios web y pools de un servidor a otro utiliza este procedimiento.

Antes que nada, copia los archivos de tus sitios web de tu servidor original al nuevo.

Ahora abre un command prompt y ejecuta estos comandos en el servidor original (crea previamente la carpeta c:\migracion):

%windir%\system32\inetsrv\appcmd list apppool /config /xml > C:\migracion\apppools.xml

%windir%\system32\inetsrv\appcmd list site /config /xml > C:\migracion\sites.xml

Ahora abre estos archivos y quita las pools y los sitios web que no quieras copiar o sobreescribir en el servidor nuevo. Te recomiendo utilizar un editor de texto que reconozca los archivos XML para que puedas distinguir dónde empieza y termina cada elemento. Un buen editor es notepad++.

Ahora copia los dos archivos al nuevo servidor y ejecuta los comandos de restauración correspondientes. Aquí es importante el orden porque primero tienen que existir las pools para que los sitios se puedan crear.

%windir%\system32\inetsrv\appcmd add apppool /in < C:\migracion\apppools.xml 

%windir%\system32\inetsrv\appcmd add site /in < C:\migracion\sites.xml

Si te sale un error (a mí me salió el 80004005) es porque te al eliminar algún sitio o pool lo hiciste mal y desbalanceaste los tags de inicio y fin. Chécalo bien. Ahora cierra y abre tu IIS manager y ve cómo aparecen todos tus sitios y pools. 😀

Nota: Probado de un servidor IIS 8 a otro IIS 8. Fuente: Microsoft Pro

BC30002: Type ‘System.Data.Linq.Mapping.DatabaseAttribute’ is not defined.

Si estás utilizando LINQ en tu aplicación de asp.net y te sale este error:

BC30002: Type 'System.Data.Linq.Mapping.DatabaseAttribute' is not defined.

Es probable que no hayas hecho referencia del assembly en el archivo web.config.
Entre el tag assemblies y /assemblies de tu archivo web.config coloca lo siguiente:

<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089">

¡Suerte!

WordPress en IIS te da el error 404 Page not found

Este problema me ha pasado un par de veces, así que decidí poner aquí la solución para el futuro, espero que te sirva.

Instalo WordPress en IIS (Windows Server 2003) como se explica aquí, todo va bien, intento abrir mi blog mediante un navegador y me sale:

The page cannot be found

Entonces para comprobar que configuré bien el sitio web y la carpeta, pongo un archivo “hola mundo” con terminación .html. Sí abre. Pongo un archivo “hola mundo” con terminación .php. No abre.

Entro a Google y encuentro muchos artículos como este, este, y este otro, y verifico que ya hice todo correctamente. Sigue pasando lo mismo, el mismo error, The page cannot be found.

Siempre hay un punto que paso por alto, y es el siguiente. Abre tu sitio web, ve a la pestaña Home Directory, luego en la sección Application settings haz clic en el botón Configuration y luego en la pestaña Mappings encontrarás el error, tienes que dar de alta la extensión .php en Application extensions con estos parámetros:

  • Executable: “c:phpphp5isapi.dll”
    Pon las comillas, y modifica la ruta de acuerdo a tu servidor.
  • Extension: .php
  • Verbs: Limit to: GET, POST, HEAD
  • Script engine: seleccionado
  • Verify that file exists: seleccionado

, tal como se muestra en la siguiente imagen:

phpnotfound

Pasa con WordPress, pero en realidad es un problema de configuración de PHP, por lo que te puede ocurrir con cualquier otra aplicación desarrollada en ese lenguaje.

¡Suerte!

Da de alta los MIME Types para las nuevas extensiones de Office

En IIS, en tu sitio web, ve a propiedades, luego a HTTP Headers y haz clic en el botón MIME Types.
Agrega las siguientes:

Extensión, MIME Type


.docm,application/vnd.ms-word.document.macroEnabled.12
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotm,application/vnd.ms-word.template.macroEnabled.12
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12
.potx,application/vnd.openxmlformats-officedocument.presentationml.template
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation
.xlam,application/vnd.ms-excel.addin.macroEnabled.12
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltm,application/vnd.ms-excel.template.macroEnabled.12
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template

Si no agregas las extensiones, entonces si colocas un archivo en tu sitio web, cuando el visitante haga clic en él, el servidor regresará un error, y el visitante no podrá descargarlo. Esto es especialmente importante para el webmail.