Archivo de la categoría: cosas técnicas

Posts relacionados con la programación o manejo o configuración de los oredenadores (computadores)

Hasta Bing AI mira el código de elGuille :-)

Pues eso… estaba «cacharreando» con el Bing y su nueva faceta de usar Inteligencia Artificial (AI) por medio de algo parecido al ChatGTP sobre código para manejar las API de Google, particularmente en las de Drive y Sheet y otras cosas que pronto te pondré por aquí.

La cuestión es que le hago esta pregunta (perdóname amigo de VB):

Puedes darme un ejemplo, paso a paso, de cómo crear una aplicación con Google Console para crear un proyecto que use las api de google de Drive y Sheets? Con idea de poder usar ese proyecto en c# y en aplicaciones tanto de escritorio como para móviles, gracias

Y su respuesta es la que me ha dejado «pasmado» 😉

Hay tutoriales disponibles en línea que pueden ayudarte a usar las API de Google con C# y Visual Basic².
También puedes consultar la documentación oficial de Google para obtener más información sobre cómo usar las API de Google Drive¹ y Sheets³.

¿Hay algo más en lo que pueda ayudarte?

Source: Conversation with Bing, 5/10/2023
(1) Tutorial para usar las APIs de Google con C# y Visual Basic. https://www.elguillemola.com/tutorial-para-usar-las-apis-de-google-con-c-y-visual-basic/.
(2) Introduction to Google Drive API | Google Developers. https://developers.google.com/drive/api/guides/about-sdk.
(3) Google Sheets API Overview | Google Developers. https://developers.google.com/sheets/api/guides/concepts.
(4) Tutorial para usar las APIs de Google con C# y Visual Basic. https://www.elguille.info/NET/dotnet/tutorial-para-usar-las-apis-de-google-con-csharp-y-visual-basic.aspx.

Sí, en el punto 4 está un código para Visual Basic (y C#) que tengo publicado en este blog (indirectamente por el guille.info):
Tutorial para usar las apis de Google con C# y Visual Basic (el de elguille.info me da error, pero está, ya que ahora el formato de las entradas del blog es diferente).

 

 

Pues eso… orgulloso de mis chiquillos codificaos 😉

Nos vemos.
Guillermo

Si usas ASP.NET con WebForms ten Visual Studio 2019 en tu equipo

Pues eso… si aún trabajas con proyectos que utilizan ASP.NET con Webforms, es decir páginas ASPX, debes tener Visual Studio 2019 instalado y con las opciones adecuadas, ya que Visual Studio 2022 solo utiliza ASP:NET Core y no podrás crear «amigablemente» nuevas páginas ASPX en el proyecto, entre otras cosas porque no están en el SDK de .NET, si no en el de .NET Framework.

Si no tienes Visual Studio 2019 instalado, puedes entrar en esta página para descargarlo.

Si ya lo tienes instalado, asegúrate que tienes estas opciones seleccionadas: (ver figura 1)

Opciones de ASP.NET en instalador de Visual Studio 2019
Figura 1. Opciones del instalador para ASP.NET

De esta forma podrás crear nuevas páginas ASPX (WebForms) o cualquier otro tipo que puedas usar con ASP.NET para .NET Framework.

Espero que te haya sido de utilidad.

Ya sabes, si quieres, puedes hacer un donativo «al blog del Guille» 😉

Nos vemos.
Guillermo

Usar una class library desde proyecto de .NET MAUI

Pues eso… algo tan simple como usar en .NET MAUI una DLL creada a partir de un proyecto del tipo class library, puede ser toda una odisea. Te lo explico para que te quede claro.

Como ya sabrás, puedes crear proyectos del tipo class library para añadirlos como referencia a otros proyectos que usen esa DLL o biblioteca de clases. Algo que es bastante común en cualquier aplicación para .NET ya sea .NET Framework como para .NET a secas incluido los proyectos para aplicaciones móviles con Xamarin.Forms.
En estes último, lo que se suele hacer es usar una DLL compilada para .NET Standard.
Hasta aquí todo bien.

La idea de usar una biblioteca de clases es para reutilizar el código en proyectos diferentes, es decir, creas la biblioteca de clases con cierta funcionalidad y esa misma biblioteca de clases la utilizas en proyectos diferentes. Al menos si esos tipos de proyectos son compatibles en el sentido de usar el mismo .NET.

Y como ahora estoy haciendo pruebas de Google Cloud Natural Language, pues pensé crear algún proyecto para .NET MAUI que usara esa API. Y como ya tenía el código de ciertas clases creado como proyecto DLL (Class Library) pensé agregar la referencia al proyecto de .NET MAUI y… ¡yaumate! (una expresión de mi zona que quiere decir algo así como… ¡tararí que te vi! o… ¡que te lo has creído!)

¡Y así fue! ¡Me lo creí! Pensaba que en .NET MAUI las cosas seguirían siendo como en el resto de .NET, pero no…

De hecho, hasta creé una class library usando la plantilla de MAUI, pero ni por esas… el proyecto de .NET MAUI nada más que daba errores de que no se podía tener referencia a esas clases definidas en la DLL (o class library).

La solución que tomé fue añadir directamente el código de esas clases en el mismo proyecto de .NET MAUI y así funcionó, pero no era eso lo que yo pretendía, ya que además del proyecto para .NET MAUI tenía otros proyectos: de tipo consola de Windows Forms para C# y Visual Basic y en todos ellos pretendía usar la misma DLL o biblioteca de clases.

Pero la solución buena ha sido creando una DLL (proyecto del tipo Class Library), crear un paquete de NuGet y usar ese paquete como referencia en lugar de una referencia al proyecto de tipo class library.

Decirte que esa referencia, al proyecto, sí que funciona en los proyectos de tipo consola o de tipo Windows Forms, tanto para VB como para C#, pero no si el proyecto es de .NET MAUI.

Te lo explico por si alguna vez te pasa esto… para que no te calientes la cabeza ni pierdas todo el tiempo que yo he perdido.

Y para muestra, el proyecto ElizaNET y el correspondiente Eliza MAUI (los enlaces van al repositorio de GitHub), que ambos usan una DLL compilada para .NET 7.0 y que funcionan a la perfección (salvo los bugs que se puedan producir en esa biblioteca de clases, que algunos pueden surgir).

Esos dos proyectos usan el código publicado en NuGet de Eliza gcnl Library que ahora va por la versión 1.0.2.

El código fuente de esa DLL (o paquete de NuGet) está en este enlace (dentro del repositorio ElizaNET).

Y esto es todo… espero que te sea de utilidad. Esa es la intención.

Nos vemos.
Guillermo