martes, 5 de febrero de 2019

Certificados de no confianza con Git

Si tienes un servidor Git con un certificado auto firmado, posiblemente de un problema de confianza.

Si se produce este error SSL certificate problem: unable to get local issuer certificate al intentar descargar un repositorio de Git, una forma de solucionar el problema es ejecutar el comando.

git config --global http.sslVerify false

Para devolver a la configuración original.

git config --global http.sslVerify true


sábado, 17 de febrero de 2018

Como utilizar diagramas de clase en proyectos NetStandard

Con Visual Studio 2017 y proyectos de NetStandard aparentemente han desaparecido los diagrama de clases. Pero con un simple truco se pueden utilizar.

Primero nos aseguramos de tenerlo instalado. Desde el instalador de Visual Studio debemos comprobar que tenemos instalado el Diseñador de Clases




Ahora nos toca crearnos el diagrama de clases. Al no tener una plantilla, nos tocara crearlo a mano. Tenemos que crear un fichero .cd con el siguiente contenido.

<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
  <Font Name="Segoe UI" Size="9" />
</ClassDiagram>


Si intentamos abrir el fichero .cd recientemente creado, veremos que no nos deja. Así que hay que indicarle a Visual Studio que este tipo de ficheros es compatible con el proyecto. Para ello debemos editar el fichero.

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets

Y modificar la línea

<ProjectCapability Include="CSharp;Managed"/>

por

<ProjectCapability Include="CSharp;Managed;ClassDesigner"/>


sábado, 2 de septiembre de 2017

Compativilidad de UWP con NETStandard 2.0


En los últimos días ha salido una nueva versión de Visual Studio 2017 (la 15.3) en la que se ha mejorado considerablemente la compatibilidad con proyectos NETStandard y la aparición de la versión 2.0 de estos. También disponemos de la nueva versión de EntityFrameworkCore 2.0.

Ahora llegan los problemas. NETStandard 2.0 no es compatible con UWP Build 15063. Lo anecdótico de esto, es que con proyectos para iOS y Android funciona perfectamente.Ya se está hablando de una versión de Visual Studio 15.4, con soporte para UWP Build 16267, que posiblemente aparezca con Windows 10 Fall Creators Update. Ahora mi duda es, ¿Qué pasa con los móviles que hay circulando todavía con Windows 10, muchos de ellos que quedaron en Annirversary Update?

Por lo visto, todos estos cambios son debido a que NET Standard 2.0 se parece más a .NET Framework y quieren fomentar la migración de aplicaciones antiguas.

lunes, 14 de agosto de 2017

Comprabar si tenemos conexión en Android con Xamarin

Con este sencillo ejemplo podremos comprobar si tenemos conexión desde un terminal Android desde una App desarrollada con Xamarin.


private bool IsNetworkAvailable(Context context)
{
       ConnectivityManager connectivity =
           (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);
  
    if (connectivity != null)
    {
        var activeNetworkInfo = connectivity.ActiveNetworkInfo;
        if (activeNetworkInfo != null && activeNetworkInfo.IsConnectedOrConnecting)
        {
            return true;
        }
    }
    return false;
}

sábado, 5 de agosto de 2017

Actualizar paquetes NuGet

En algunos tipos de proyectos de Visual Studio, cuando migramos a una versión más moderna del framework, si miramos en el fichero packages.config del proyecto veremos que en algunos de los paquetes nos encontramos con la etiqueta requireReinstallation. Los paquetes NuGet dependiendo de la versión del framework instalan diferentes ficheros. Así que nos está indicando que dicho paquete tiene una configuración distinta para el nuevo framework seleccionado, que para el que teníamos seleccionado cuando instalamos dicho paquete.

para solucionar este problema, vasta con irnos a la "Package Manager Console" y ejecutar el comando.

Update-Package -Reinstall

Esto reinstalará todos nuestros paquetes con las características del framework seleccionado.

viernes, 7 de abril de 2017

Compativilidad Hyper-V con otros motores de máquinas virtuales

Para el desarrollo de dispositivos móviles a menudo tenemos que lidiar con varios tipos de máquinas virtuales. El problema es que algunas funcionan sobre Hyper-V y otras sobre otros motores de virtualización, los cuales no son compatibles. Para no tener que estar instalando y desinstalando, se puede habilitar y deshabilitar el Hypervisor de Hyper-V y habilitarlo cuando lo volvamos a necesitar. Para ello vasta con ejecutar los comandos.

Deshabilitar Hypervisor

bcdedit /set hypervisorlaunchtype off


Habilitar Hypervisor

bcdedit /set hypervisorlaunchtype auto

jueves, 9 de marzo de 2017

Pruebas unitarias con Entity Framework Core

Las pruebas unitarias contra base de datos siempre son complicadas. Ya que en muchas ocasiones no podemos crear una base de datos vacía para nuestras pruebas. Si utilizamos Entity Framework esta tarea se hace muy sencilla, con este sencillo truco. En la que creamos una base de datos al inicializar el test y la borramos al terminarlo.

Para ello deberemos utilizar los métodos EnsureCreated y EnsureDeleted, las cuales crean y borran una base de datos de una forma muy sencilla.

[ClassInitialize()]
public static void InitDataBase(TestContext context)
{
    using (var db = new MyDbContext())
    {
        db.Database.EnsureCreated();
    }
}

[ClassCleanup]
public static void DeleteDataBase()
{
    using (var db = new MyDbContext())
    {
        db.Database.EnsureDeleted();
    }
}