jueves, 25 de julio de 2019

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' OSX windows

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) (CS0234)

Estoy trabajando un proyecto con otras personas de ASPNETCore

Cuando intento compilar la aplicación me genera el siguiente error:

Error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) (CS0234)

y el warning

/Library/Frameworks/Mono.framework/Versions/5.18.1/lib/mono/msbuild/Current/bin/Microsoft.Common.CurrentVersion.targets(5,5): Warning MSB3245: No se pudo resolver esta referencia. No se encuentra el ensamblado "Microsoft.Extensions.Logging.Debug". Compruebe si el ensamblado existe en el disco. Si el código necesita esta referencia, podrían producirse errores de compilación. (MSB3245) 


Quien realizo la base del proyecto inicio en windows y en mi caso yo estoy usando una Mac, con OSX

Después de varios días sin encontrar como resolverlo, me dieron un consejo, ejecutar: dontnet run en el directorio del proyecto.

Eso genero el mismo error, pero me permitió saber por donde iba el problema.


error CS0234: The type or namespace name 'Debug' does not exist in the namespace 'Microsoft.Extensions.Logging' (are you missing an assembly reference?) [/Users/usuario/Documents/proyecto/src/terra/terra.csproj]


Resulta ser que se configuro una dependencia  y el conflicto hacia referencia a una librería que no tenía en el archivo del proyecto: /Users/usuario/Documents/proyecto/src/terra/terra.csproj 

Microsoft.Extensions.Logging.Debug

y que además hace referencia a una ruta que es de windows.



<ItemGroup>
    <Reference Include="Microsoft.Extensions.Logging.Debug">
      <HintPath>..\..\..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.logging.debug\2.1.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Debug.debug.dll</HintPath>
    </Reference>

  </ItemGroup>

x

Solución

Buscar el directorio donde deben estar instaladas las librerías del core en osx, en la consola con el comando:

find / -name NuGetFallbackFolder  

Resultado:

/usr/local/share/dotnet/sdk/NuGetFallbackFolder/

Entonces, debemos editar el archivo del proyecto

/Users/usuario/Documents/proyecto/src/terra/terra.csproj

Actualizar la línea:


<HintPath>/usr/local/share/dotnet/sdk/NuGetFallbackFolder/microsoft.extensions.logging.debug/2.1.1/lib/netstandard2.0/Microsoft.Extensions.Logging.Debug</HintPath>

Guardar los cambios

Ir a Visual Studio

Dar clic en Agregar-> Agregar paquetes NuGet 


Buscar Microsoft.Extensions.Logging.Debug
Dar clic en el botón Agregar paquetes





Aceptar las licencias


y una vez instalado, compilar su aplicación.




Ahora ya puede visualizar su aplicación =)






lunes, 15 de julio de 2019

Modificar propiedades css datepicker button

Modificar propiedades css datepicker button

Al crear un datepicker tiene la opción de agregar un botón de apoyo

 $( "#fecha" ).datepicker({
       nextText: "Siguiente",
       prevText: "Anterior",
       showWeek: false,
       showOn: "both",
       buttonText: "Calendar",
       buttonImage: "imagen/icono.png"
 });


El ícono aparece con fondo de un botón, que toma el tamaño original de la imagen; para personalizarlo debemos modificar su css.



Usando el inspector del navegador vemos que la clase es .ui-datepicker-trigger

entonces, el icono del botón lo modificamos con :

/*icono de button*/
.ui-datepicker-trigger{
  border: 0px;
  width:40px;
  height:40px;
}

y la imagen contenida:

/*icono de button image*/
.ui-datepicker-trigger>img{
  width:35px;
  height:35px;
}

así tendremos un botón más acorde a lo que deseamos.



Saludos y éxito en sus proyectos. 

lunes, 1 de julio de 2019

Visualizar imágenes almacenadas de Google Driven en un sitio externo o aplicación

Visualizar imágenes almacenadas de Google Drive en un sitio externo o aplicación

Si usted tiene almacenadas imágenes en Drive de google en alguna carpeta o contenedor y desea utilizar esa imagen como referencia en algún sitio o servicio, debe usar el siguiente vínculo y el fileid de la siguiente manera:

https://drive.google.com/uc?export=view&id={fileId}


Para que esto funcione, de clic derecho sobre el archivo y seleccione compartir

Debe compartir la imagen como Cualquiera con el vínculo puede verluego, copie el vínculo y obtenga de ahí el fileId 

https://drive.google.com/file/d/00000FFFFF0000999/view?usp=sharing




Agregue la etiqueta y el vínculo a su código.

<img src="https://drive.google.com/uc?export=view&id=00000FFFFF0000999" width="200" />

Funcionará siempre y cuando no sea un recurso muy solicitado, en caso contrario tendrá que pagar el servicio de uso.

Saludos y excelente verano 👀

sábado, 16 de marzo de 2019

Error de conexión a Mysql: Server sent charset (255) unknown to the client

Por algunas circunstancias formatee mi computadora con windows 10. Todo iba bien hasta que una vez instalado Mysql 8.0 CE; intente entrar a phpmyadmin y me regreso el siguiente error:

"mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers"

"mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers"


Buscando en internet nos comentan que se debe al cambio de configuración del chartset por default, entonces debemos ajustar configuración de nuestro mysql.

Solución

Editaremos el archivo de configuración my.cnf
El cual se debe encontrar en C:\ProgramData\MySQL\MySQL Server 8.0
Agregamos y/o modificamos las siguientes lineas:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci

character-set-server = utf8 


Una vez hecho esto, reinicien su servicio de Mysql

e ingresen a su aplicación o a su phpmyadmin

Enhorabuena, pueden utilizar su conexión de nuevo.


jueves, 25 de octubre de 2018

Acceder a mysql con root y también cambiar contraseña.

Si por alguna razón deseas acceder como el usuario de root a las bases de datos debemos cambiar algunos datos de la tabla mysql.

Aplicado en mysql 5

1. Entramos a mysql 

$ sudo mysql -u root mysql

2. Revisamos la tabla user

mysql> select * from user;

3. Cambiamos el valor del plugin de auth_socket a mysql_native_password del usuario root

mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';

4. Aplicamos los cambios

mysql> flush privileges;

5. Salimos de la conexión actual 

mysql>quit

6. Ahora ingresamos normalmente

$mysql -u root mysql
enter password:

7. Si todo sale correcto habrás ingresado 

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version:  ******************** (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>



Adicional: cambiar contraseña

8. Dentro de la conexión  lanzamos la siguiente consulta

mysql> UPDATE user SET authentication_string=PASSWORD("nuevaclave") WHERE User='root';

9. Aplicamos los cambios

mysql> flush privileges;

10. Salimos de la conexión actual 

mysql>quit

11. Reiniciamos el servicio

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start 

12. Probamos con el nuevo password

Todo debe salir perfecto.



miércoles, 24 de octubre de 2018

Habilitar Mysql con php7-Apache2 en Ubuntu

Instale ubuntu 16 en un equipo para realizar unas pruebas con Apache2 y php7.2

Cuando quise utilizar mysql mostraba que no estaba podía realizar la conexión.

Entonces hice lo siguiente:


Primero, edite el archivo

$ sudo nano /etc/php/7.2/apache2/php.ini

descomente la línea (elimine ;):

extension=php_mysqli.so

Guarde sus cambios (CTRL+C)

Después necesitamos instalar la librería php-mysql

$ sudo apt install php-mysql

Se instalarán los siguientes paquetes NUEVOS:
  php-mysql php7.2-mysql

Para versiones de php7 se deben habilitar las extensiones, entonces ejecutamos:

$ sudo phpenmod mysqli

Reiniciamos el servicio de apache

$ sudo ./etc/init.d/apache2 stop
$ sudo ./etc/init.d/apache2 start

Si tenemos instalado phpmyadmin entonces podemos revisar la conexión

¡¡Funciona!!


jueves, 18 de octubre de 2018

Habilitar OPcache en PHP 5.5 o superior

Opcache es una tecnología muy usada actualmente para mejorar el rendimiento de un sitio web

Habilitar la librería es muy sencillo.

Primero hay que editar nuestro archivo php.ini que estamos usando con Apache

Agregamos la siguiente linea en la parte donde cargamos las extensiones:

#en mi caso tengo ubicado el php en la unidad D

zend_extension=D:\php\ext\php_opcache.dll


Después configuramos los siguientes valores, se recomienda revisar las especificaciones que usted necesite, estas digamos son las comunes:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1



Ahora guardamos nuestro archivo php.ini

Si estamos en windows, copiamos el archivo php.ini a C:\windows\

Detenemos el servicio de Apache
y lo volvemos a iniciar.






Si todo esta correcto, nuestra extensión ha sido agregada.

Podemos usar un script y probar con php_info()



Saludos.