Skip to content

manuel-chinchi/notes-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Notas Dev

Notas útiles sobre programación, despliegue de aplicaciones y uso de herramientas de desarrollo.

Desarrollo C# - Aplicaciones Web

Esta sección esta destinada para los siguientes tipos de proyectos

  • ASP.NET Web Forms
  • ASP.NET MVC (Framework)
  • ASP.NET (Core/5+/6+)

Errores comunes

Se listan una serie de errores comunes con los que me he topado en varios proyectos, algunos son muy especificos y otros más conocidos. Lo dejo aquí para ayudar a quien lo necesite:

  1. Error 001 - No se puede encontrar una parte de la ruta de acceso ...\bin\roslyn\csc.exe
  2. Error 002 - ERR_SSL_VERSION_OR_CIPHER_MISMATCH en el navegador al ejecutar aplicacion en Windows 7
  3. Error 003 - build\Microsoft.TypeScript.targets.. MSB6006.. NodeJS\node.exe salio con el código 216

Este error suele pasar por ej. cuando se quiere ejecutar un proyecto en una nueva maquina o cuando se retoma el proyecto luego de un tiempo prolongado. Se recomienda probar lo siguiente:

  1. En Visual Studio IDE con el proyecto abierto, ejecutar desde la consola de administración de paquetes Nugget el comando Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  2. Cerrar la instancia de Visual Studio IDE y buscar en el Administrador de tareas de Windows estos procesos.

    • SmSvcHoost.exe
    • VBCSCompiler.exe
  3. Borrar las carpetas temporales del proyecto obj, bin y .vs, (esta última suele estar oculta).

Abrir la aplicación, recompilar y probar si anda.

Este error se produce en Windows 7 porque este tiene deshabilitado por defecto TLS 1.2 en el registro. Por ende hay dos opciones para poder ejecutar la aplicación.

  • Habilitar TLS 1.2 en el registro de Windows 7 como se indica aquí
  • Deshabilitar SSL del proyecto como se indica aquí

La segunda es la forma más rápida.

Fuente: https://stackoverflow.com/questions/71279204/it-is-not-possible-to-launch-a-c-sharp-web-application-using-the-https-protocol

Para solucionar este error se debe modificar el archivo Microsoft.TypeScript.targets, el mismo se encuentra en la ubicación C:\Program Files (x86)\Microsoft SDKs\TypeScript\4.3\build (este path puede variar) → buscar el nodo y dejarlo como se muestra a continuación:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

Despliegue aplicación web con base de datos en Windows con IIS (v10)

Para poder desplegar una aplicación web en un servidor con Windows usando Internet Information Services se requiere seguir los siguientes pasos.

  1. Activar IIS
  2. Crear directorio de despliegue
  3. Asignar permisos al directorio (*)
  4. Desplegar aplicación en directorio
  5. Agregar sitio de aplicación en IIS
  6. Modificar archivo applicationHost.config (**)
  7. Probar la aplicación

1. Activar IIS

Abrimos el programa Panel de Control → vamos al apartado Programas → luego a Activar o desactivar las caracreristicas de Windows → buscamos y marcamos la casilla Internet Information Services → le damos a instalar y una vez finalizado reiniciamos el sistema.

Imagen de referencia

2. Crear directorio de despliegue

Abrimos el Explorador de archivos de Windows y vamos a la ruta C:\inetpub\wwwroot\ → ahí dentro creamos un directorio donde desplegaremos los archivos de nuestra aplicación. Por ej. misitio y entonces nos quedaría C:\inetpub\wwwroot\misitio como ruta de despliegue

3. Asignar permisos al directorio (*)

Ahora vamos a asignar los permisos necesarios para que no salten errores a la hora de visitar nuestro sitio web. Para eso hacemos click derecho sobre la carpeta misitio y en Propiedades → vamos a la sección Compartir → click en botón Compartir... → y agregamos al usuario Todos y le damos permisos de lectura y escritura.

(*) La omisión de este paso puede causar los siguientes errores una vez desplegada la aplicación:

  • Error de servidor en la aplicación...
  • Failed to update database C:\INETPUB\WWWROOT....\...*.MDF because the database is read-only.
  • Cannot create file *.mdf because it already exists

4. Desplegar aplicación en directorio

Desde Visual Studio IDE desplegamos los archivos de nuestra aplicación en la ruta del directorio que creamos anteriormente, en este caso sería C:\inetpub\wwwroot\misitio.

Ver como desplegar aplicación web desde Visual Studio IDE aquí

5. Agregar sitio de aplicación en IIS

Ahora vamos a agregar un sitio desde donde poder "ver" nuestra aplicación web funcionando. Para esto Abrimos IIS → en la sección Conexiones → vamos a Sitios → luego click derecho y la opción Agregar sitio web... → ahí completamos los siguientes campos:

  • Nombre de sitio: cualquier valor
  • Grupo de aplicaciones: cualquier valor
  • Ruta de acceso física: aquí copiamos la dirección de despliegue previamente creada, en este caso sería C:\inetpub\wwwroot\misitio
  • Puerto: elegimos un nro. de puerto que no este en uso. Como ayuda podemos ejecutar en una terminal el comando netstat -ano | findstr:<puerto> con un número de puerto y verificar si el mismo esta o no en uso. Si no devuelve nada el puerto esta libre. Por ej. elegimos el puerto 8095.

6. Modificar archivo applicationHost.config (**)

Abrimos el Explorador de Archivos de Windows y vamos a la ruta C:\Windows\System32\inetsrv\config\ → ahí buscamos el archivo applicationHost.config y lo abrimos con algún editor (puede que necesitemos permisos de administrador para editarlo) → dentro buscamos la sección de código ~applicationPools como se puede ver:

<applicationPools>
    <add name="DefaultAppPool" autoStart="true" />
    <add name="Classic .NET AppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
    <add name=".NET v2.0 Classic" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
    <add name=".NET v2.0" managedRuntimeVersion="v2.0" />
    <add name=".NET v4.5 Classic" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" />
    <add name=".NET v4.5" managedRuntimeVersion="v4.0" />
    <add name="test" />
    <applicationPoolDefaults managedRuntimeVersion="v4.0">
        <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="false" />
    </applicationPoolDefaults>
</applicationPools>

Editamos la etiqueta processModel de manera que quede así:

<applicationPoolDefaults managedRuntimeVersion="v4.0">
    <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</applicationPoolDefaults>

(**) En algunos sistemas puede que no haga falta hacer estos cambios. Se recomienda omitir este paso y solo si salen errores volver y aplicarlos. Los cambios en este archivo afectan a todos los sitios web administrados por IIS

7. Probar aplicación

Por último, probamos el sitio web de nuestra aplicación. Abrimos IIS → en la sección Conexiones → luego en Acciones → elegimos la opción Examinar sitio web → y Examinar *:8095 (http) (8095 fue el puerto de ej. que elegimos previamente) se nos abrira una ventana del navegador y podremos interactuar con nuestra aplicación.

Referencias

About

Notas útiles sobre programación

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published