Páginas

2018/04/25

Publicar un proyecto ASP.NET Core con todas sus dependencias

Si después de publicar un proyecto ASP.NET Core te han faltado librerías .dll que están reflejadas en el fichero proyecto.deps.json, y no quieres ir copiando una a una, tienes que añadir la siguiente línea a tu fichero .csproj del proyecto:

 <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>


Enlace:
https://www.benday.com/2018/02/23/force-dotnet-publish-to-publish-dependencies-using-publishwithaspnetcoretargetmanifest/


2018/04/12

Error 404 después de publicar con ASP .NET Core

Si después de publicar, alojar todo correctamente en tu IIS y al acceder a tu web API no se muestra nada y compruebas que está devolviendo un error 404 (recurso no encontrado), comprueba que la cadena conexión a la base de datos es correcta y tiene los permisos adecuados.

En mi caso, la cadena de conexión que la tenía escrita en appsettings.json no le había incluído el usuario, despiste mío.

2018/03/23

Cómo publicar un proyecto web de ASP.Net Core 2 en Ubuntu

1) Estando en un directorio del proyecto bajo Windows, publicamos de esta forma:

    dotnet publish -r ubuntu.16.10-x64 -o C:\Proyectos\ProyectoPublish

    C:\Proyectos\ProyectoPublish es la ruta de destino donde publicaremos.


2) Copiamos la publicación y la movemos a la carpeta Ubuntu /var/www/ProyectoPublish


3) Ponemos en marcha el proyecto publicado:

  a) Dentro de la ruta donde está el proyecto publicado (/var/www/ProyectoPublish/), ejecutar

     dotnet nombreProyecto.dll
   
     (Si no tenemos dotnet instalado mirar la siguiente página https://docs.microsoft.com/es-es/dotnet/core/linux-prerequisites?tabs=netcore2x )
   
  b) Entrar en

        http://localhost:5000/

Primera toma de contacto con ASP.NET Core 2

Quisiera compartir algunos apuntes que he anotado a medida que avanzaba en mi primer proyecto con ASP .NET Core 2:

* Si queremos aumentar el tiempo que necesita una petición en su ejecución:

  Solución: Ir al web.config y modificar o añadir la propiedad requestTimeout. En el siguiente ejemplo hasta 10 minutos:



* Añadir funciones de logueo (registro en logs)

 
 Solución: en el web.config añadir:

 stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout"

Importante: Los logs no se escriben si no existe la carpeta \logs . Hay que crear esta carpeta.


* Si se produce este error:
   
    This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
    aspnetcore-store-2.0.6.xml 



Se puede arreglar añadiendo esto en el archivo .csproj del proyecto
   


 * Si se produce este error:

Development environment should not be enabled in deployed applications ...   
   
    Debemos añadir estas líneas al web.config del proyecto publicado:

Esto ocurre porque la aplicación tiene algún error que necesita mostrar.

* Si se produce el siguiente error:

Unable to resolve service for type 'Microsoft.AspNetCore.Http.IHttpContextAccessor'


Añadiremos en el fichero Startup.cs:


2017/11/28

IIS deja de funcionar después de instalar actualización Windows 10

En la mayoría de las páginas que visitaba se daba la solución de reinstalar el módulo IIS URL Rewrite como indica en esta página: https://weblog.west-wind.com/posts/2015/jul/05/windows-10-upgrade-and-iis-503-errors 

Pero mi problema no era éste pues mi IIS no disponía de este módulo. 

Revisé el Visor de Sucesos o EventLog de mi sistema. En el apartado Registros de Windows | Aplicación, me encontré con este error: 

Error IIS-W3SVC-WP 2307

Busqué en la web por “IIS-W3SVC-WP error 2307” pero a pesar de ello, el problema no era el mismo: lo que leía no contemplaba la palabra ‘<EMPTY>’ que a mí me aparecía y en estas páginas no.
 Después de otorgar permisos a varias carpetas, reinstalar IIS Express, activar y desactivar características de Windows, e intentar otras soluciones más, encontré la siguiente que funcionó y espero que a ti, que has llegado hasta aquí, también te sirva: 

(antes de nada te aconsejo exportar las configuraciones que tengas en IIS como indica aquí: http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/

1) Para el IIS desde una consola de comandos y escribe iisreset /stop 

2) Borra el contenido de la carpeta c:\inetpub\temp\appPools, pero no la propia appPools pues es un directorio necesario. 

3) Pon en marcha otra vez IIS con iisreset /start 


Y ya debería funcionar todo. 

Yo tuve un problema adicional y es que uno de mis Sitios no llegaba a arrancar y solamente se me mostraba la sección de Administración con dos iconos (el Editor de Configuración y el Instalador de Plataforma Web). 

Me fijé que le faltaba un enlace (a la derecha Modificar Sitio | Enlaces…). Agregué el puerto 80 y solucionado.

2017/04/25

Configurar el IDE Atom a través de un proxy corporativo


Esta es la configuración que a mí me funcionó para configurar el IDE Atom mediante un proxy corporativo:


apm config set https-proxy = "http://(usuario sin dominio):password@direcciónIPProxy:8080"

apm config set proxy = "http://(usuario sin dominio):password@direcciónIPProxy:8080"


apm config set strict-ssl false



Saludos.

2017/03/18

Frecuencia de palabras de un texto usando Ruby (desde un archivo de texto)

MsiInv o cómo obtener información del software instalado en tu ordenador (en Windows)

Pues como dice el título, si quieres saber realmente qué software tienes instalado en tu computadora con el sistema operativo Windows, recom...