Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, creará una biblioteca de utilidades sencilla que contiene un único método de control de cadenas.
Una biblioteca de clases define los tipos y métodos que una aplicación llama. Si la biblioteca tiene como destino .NET Standard 2.0, se puede invocar desde cualquier implementación de .NET (incluido .NET Framework) que admita .NET Standard 2.0. Si la biblioteca tiene como destino .NET 10, puede ser llamada por cualquier aplicación que tenga como destino .NET 10. En este tutorial se muestra cómo dirigirse a .NET 10.
Al crear una biblioteca de clases, puede distribuirla como un componente de terceros o como un componente agrupado con una o varias aplicaciones.
Prerrequisitos
Visual Studio con la carga de trabajo de desarrollo de escritorio .NET instalada. El SDK de .NET se instala automáticamente al seleccionar esta carga de trabajo.
Para obtener más información, consulte Instalar el SDK de .NET con Visual Studio.
- El SDK .NET más reciente
- editor Visual Studio Code
- El DevKit de C#
Instrucciones de instalación
En Windows, este archivo de configuración WinGet se utiliza para instalar todos los requisitos previos. Si ya tiene algo instalado, WinGet omitirá ese paso.
- Descargue el archivo y haga doble clic para ejecutarlo.
- Lea el contrato de licencia, escriba yy seleccione Escriba cuando se le pida que acepte.
- Si recibe un mensaje de control de cuentas de usuario (UAC) parpadeante en la barra de tareas, permita que la instalación continúe.
En otras plataformas, debe instalar cada uno de estos componentes por separado.
- Descargue el instalador recomendado en la página de descarga del SDK .NET y haga doble clic para ejecutarlo. La página de descarga detecta la plataforma y recomienda el instalador más reciente para la plataforma.
- Descargue el instalador más reciente de la página principal Visual Studio Code y haga doble clic para ejecutarlo. Esa página también detecta tu plataforma y el vínculo debe ser correcto para tu sistema operativo.
- Haga clic en el botón "Instalar" de la página de extensión C# DevKit. Esto abre Visual Studio código y le pregunta si desea instalar o habilitar la extensión. Seleccione "instalar".
- Una cuenta de GitHub para usar GitHub Codespaces. Si aún no tiene una, puede crear una cuenta gratuita en GitHub.com.
Creación de una solución
Empiece por crear una solución en blanco para contener el proyecto de biblioteca de clases. Una solución Visual Studio sirve como contenedor para uno o varios proyectos. Agregue proyectos relacionados a la misma solución.
Para crear la solución en blanco:
Inicie Visual Studio.
En la ventana de inicio, elija Crear un nuevo proyecto.
En el cuadro de búsqueda de la página Crear un nuevo proyecto, escriba solución. Elija la plantilla Solución en blanco y luego seleccione Siguiente.
plantilla de solución
En la página Configure el nuevo proyecto, escriba ClassLibraryProjects en el cuadro Nombre de la solución. A continuación, elija Crear.
Empiece por crear un proyecto de biblioteca de clases .NET denominado "StringLibrary" y una solución asociada. Una solución actúa como contenedor para uno o varios proyectos. Agregará otros proyectos relacionados a la misma solución.
Inicie Visual Studio Code.
Vaya a la vista Explorador y seleccione Crear .NET Proyecto. Como alternativa, puede abrir la paleta de comandos mediante Ctrl+Mayús+P (Comando+Mayús+P en MacOS) y, a continuación, escribir ".NET" y buscar y seleccionar el comando .NET: Nuevo proyecto.
Elija la biblioteca de clases de la plantilla de proyecto.
A continuación, seleccione la ubicación donde desea que se cree el nuevo proyecto: cree una carpeta denominada y selecciónela.
Asigne al proyecto el nombre StringLibrary.
Seleccione .sln como formato de archivo de solución.
Seleccione Mostrar todas las opciones de plantilla.
A continuación, seleccione .NET 10. A continuación, seleccione Crear proyecto.
En el cuadro de diálogo ¿Confía en los autores de los archivos de esta carpeta? , seleccione Sí, confío en los autores. Puede confiar en los autores porque esta carpeta solo tiene archivos generados por .NET y agregados o modificados por usted.
Empiece por crear un GitHub Codespace con el entorno del tutorial y, a continuación, cree un proyecto de biblioteca de clases de .NET.
Abra una ventana del explorador y vaya al repositorio codespace del tutorial.
Seleccione el botón Code y, a continuación, la pestaña Codespaces.
Seleccione el signo o el botón verde Crear espacio de código en main para crear un nuevo codespace con este entorno.
Creación de un nuevo codespace desde el repositorio del tutorial
Cuando se cargue el espacio de código, abra el terminal y vaya a la carpeta tutorials:
cd tutorialsCree un nuevo proyecto de biblioteca de clases:
dotnet new classlib -n StringLibrary
Creación de un proyecto de biblioteca de clases
Agregue un nuevo proyecto de biblioteca de clases .NET denominado StringLibrary a la solución.
Haga clic con el botón derecho en la solución en Explorador de soluciones y seleccione Agregar>Nuevo proyecto.
En el cuadro de búsqueda de la página Agregar un nuevo proyecto, escriba biblioteca. Elija C# o Visual Basic en la lista Idioma y, a continuación, elija Todas las plataformas en la lista Plataforma. Elija la plantilla Biblioteca de clases y luego Siguiente.
En la página Configura tu nuevo proyecto, escriba StringLibrary en el cuadro Nombre del proyecto y luego elija Siguiente.
En la página Información adicional, seleccione .NET 10 y elija Crear.
Compruebe que la biblioteca tiene como destino la versión correcta de .NET. Haga clic con el botón derecho en el proyecto de biblioteca en Explorador de soluciones y seleccione Properties. El cuadro de texto Target Framework muestra que el proyecto tiene como destino .NET 10.0.
Si usa Visual Basic, borre el texto del cuadro de texto Default.
Propiedades del proyecto para la biblioteca de clases
Para cada proyecto, Visual Basic crea automáticamente un espacio de nombres que corresponde al nombre del proyecto. En este tutorial, definirá un espacio de nombres de nivel superior mediante la palabra clave en el archivo de código.
Reemplace el código de la ventana de código para Class1.cs o Class1.vb por el código siguiente y guarde el archivo. Si no se muestra el idioma que desea usar, cambie el selector de idioma en la parte superior de la página.
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End NamespaceLa biblioteca de clases, , contiene un método denominado . Este método devuelve un valor de que indica si la instancia de cadena actual comienza con un carácter en mayúsculas. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método devuelve si un carácter está en mayúsculas.
se implementa como un método de extensión para que pueda llamarlo como si fuera miembro de la clase . El signo de interrogación () después de en el código de C# indica que la cadena puede ser null.
En la barra de menús, seleccione CompilarCompilar solución, o bien pulse CtrlMayúsB, para comprobar que el proyecto se compila sin errores.
Se crea el proyecto y se abre Class1.cs .
Reemplace el contenido de Class1.cs por el código siguiente:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }La biblioteca de clases, , contiene un método denominado . Este método devuelve un valor de que indica si la instancia de cadena actual comienza con un carácter en mayúsculas. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método devuelve si un carácter está en mayúsculas.
se implementa como un método de extensión para que pueda llamarlo como si fuera miembro de la clase .
Guarde el archivo.
Expanda Explorador de soluciones en la parte inferior de la vista Explorer.
Haga clic con el botón derecho en la solución en Explorador de soluciones y seleccione Build o abra la paleta de comandos y seleccione .NET: Compilar para compilar la solución y comprobar que el proyecto se compila sin errores.
La salida del terminal es similar al ejemplo siguiente:
Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net10.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
Vaya a la carpeta StringLibrary:
cd StringLibraryAbra Class1.cs y reemplace su contenido por el código siguiente:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }La biblioteca de clases, , contiene un método denominado . Este método devuelve un valor de que indica si la instancia de cadena actual comienza con un carácter en mayúsculas. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método devuelve si un carácter está en mayúsculas.
se implementa como un método de extensión para que pueda llamarlo como si fuera miembro de la clase .
Guarde el archivo y compile el proyecto:
dotnet buildLa compilación debe realizarse correctamente sin errores.
Adición de una aplicación de consola a la solución
Agregue una aplicación de consola que use la biblioteca de clases. La aplicación pedirá al usuario que escriba una cadena e informe si la cadena comienza con un carácter en mayúsculas.
Agregue una nueva aplicación de consola de .NET denominada ShowCase a la solución.
Haga clic con el botón derecho en la solución en Explorador de soluciones y seleccione Agregar>Nuevo proyecto.
En el cuadro de búsqueda de la página Agregar un nuevo proyecto, escriba consola. Elija C# o Visual Basic en la lista Idioma y, a continuación, elija Todas las plataformas en la lista Plataforma.
Elija la plantilla Aplicación de consola y elija Siguiente.
En la página Configure el nuevo proyecto, escriba ShowCase en el cuadro Nombre del proyecto. Después, haga clic en Siguiente.
En la página Información adicional, seleccione .NET 10 en el cuadro Framework. A continuación, elija Crear.
En la ventana de código del archivo Program.cs o Program.vb, reemplace todo el código por el código siguiente.
using System; using UtilityLibraries; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; }Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End ModuleEl código usa la variable para mantener un recuento del número de filas de datos escritos en la ventana de la consola. Siempre que sea mayor o igual que 25, el código borra la ventana de la consola y muestra un mensaje al usuario.
El programa solicita al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.
Haga clic con el botón derecho en la solución en Explorador de soluciones y seleccione Nuevo proyecto o en la paleta de comandos seleccione .NET: Nuevo proyecto.
Seleccione Aplicación de consola.
Asígnele el nombre ShowCase, seleccione el directorio predeterminado y seleccione Crear proyecto.
Abra ShowCase/Program.cs y reemplace todo el código por el código siguiente.
using System; using UtilityLibraries; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; }El código usa la variable para mantener un recuento del número de filas de datos escritos en la ventana de la consola. Siempre que sea mayor o igual que 25, el código borra la ventana de la consola y muestra un mensaje al usuario.
El programa solicita al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.
Guarde los cambios.
Vuelva a la carpeta tutoriales y cree una nueva aplicación de consola:
cd .. dotnet new console -n ShowCaseAbra ShowCase/Program.cs y reemplace todo el código por el código siguiente:
using System; using UtilityLibraries; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; }El código usa la variable para mantener un recuento del número de filas de datos escritos en la ventana de la consola. Siempre que sea mayor o igual que 25, el código borra la ventana de la consola y muestra un mensaje al usuario.
El programa solicita al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.
Guarde los cambios.
Agregar una referencia de proyecto
Inicialmente, el nuevo proyecto de aplicación de consola no tiene acceso a la biblioteca de clases. Para permitir que llame a métodos en la biblioteca de clases, cree una referencia de proyecto al proyecto de biblioteca de clases.
En Explorador de soluciones, haga clic con el botón derecho en el nodo
ShowCasedel proyecto Dependencies y seleccione Agregar referencia del proyecto.
En el cuadro de diálogo Administrador de referencias, seleccione el proyecto StringLibrary y después Aceptar.
Cuadro de diálogo Administrador de referencias con StringLibrary seleccionado
En Explorador de soluciones haga clic con el botón derecho en el proyecto ShowCase y seleccione Agregar referencia de proyecto.
Seleccione "StringLibrary".
Sugerencia
Como alternativa, agregue lo siguiente a ShowCase.csproj:
<ItemGroup>
<ProjectReference Include="..\StringLibrary\StringLibrary.csproj" />
</ItemGroup>
Agregue una referencia al proyecto StringLibrary desde el proyecto ShowCase:
cd ShowCase
dotnet add reference ../StringLibrary/StringLibrary.csproj
Ejecuta la aplicación
En Explorador de soluciones, haga clic con el botón derecho en el proyecto ShowCase y seleccione Set como Proyecto de inicio en el menú contextual.
Presione CtrlF5 para compilar y ejecutar el programa sin depurar.
Pruebe el programa escribiendo cadenas y presionando Enter, luego presione Enter para salir.
Ventana de consola con ShowCase en ejecución
Use la barra de menús superior para seleccionar EjecutarEjecutar sin depurar.
seleccione C#.
Seleccione C#: ShowCase.
Si recibe un error que indica que no se carga ningún programa de C#, cierre la carpeta que tiene abierta y abra la carpeta . A continuación, vuelva a intentar ejecutar la aplicación.
Pruebe el programa escribiendo cadenas y presionando Enter, luego presione Enter para salir.
La salida del terminal es similar al ejemplo siguiente:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Ejecute la aplicación ShowCase:
dotnet runPruebe el programa escribiendo cadenas y presionando Enter, luego presione Enter para salir.
La salida del terminal es similar al ejemplo siguiente:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Recursos adicionales
- Desarrollar bibliotecas con la CLI de .NET
- Versiones de .NET Standard y las plataformas que soportan.
Limpieza de recursos
GitHub elimina automáticamente codespace después de 30 días de inactividad. Si tiene previsto explorar más tutoriales en esta serie, puede dejar su Codespace disponible. Si está listo para ir al sitio .NET para descargar el .NET SDK, puede eliminar Codespace. Para eliminar Codespace, abra una ventana del explorador y vaya a Codespaces. Ves una lista de tus espacios de código en la ventana. Seleccione los tres puntos () de la entrada del espacio de código del tutorial de aprendizaje. A continuación, seleccione "Eliminar".
Pasos siguientes
En este tutorial, ha creado una biblioteca de clases. En el siguiente tutorial, aprenderás a realizar pruebas unitarias de la biblioteca de clases.
O bien, puede omitir las pruebas unitarias automatizadas y aprender a compartir la biblioteca mediante la creación de un paquete NuGet:
O bien, aprenda a publicar una aplicación de consola. Si publica la aplicación de consola desde la solución que creó en este tutorial, la biblioteca de clases la incluye como un archivo .dll.