CSharp
Tutorial CSharp: Creación de proyecto C#
Aprende a instalar Visual Studio y crear tu primer proyecto en C# con guía completa para principiantes y estructura básica de archivos.
Aprende CSharp y certifícateInstalando Visual Studio
Visual Studio es el entorno de desarrollo integrado (IDE) oficial de Microsoft para C#, ofreciendo un conjunto completo de herramientas para desarrollar aplicaciones .NET. Antes de comenzar a programar en C#, necesitamos configurar nuestro entorno de desarrollo instalando Visual Studio.
Seleccionando la versión adecuada
Microsoft ofrece diferentes ediciones de Visual Studio, siendo Visual Studio Community la versión gratuita y completamente funcional para estudiantes, desarrolladores de código abierto y proyectos personales.
- Visual Studio Community: Gratuita, ideal para estudiantes y desarrolladores individuales.
- Visual Studio Professional: Para equipos pequeños (de pago).
- Visual Studio Enterprise: Con características avanzadas para grandes equipos (de pago).
Para nuestro curso, utilizaremos Visual Studio Community, que incluye todas las características necesarias para aprender y desarrollar aplicaciones en C#.
Proceso de instalación
1. Descarga del instalador:
- Visita el sitio oficial de Microsoft: https://visualstudio.microsoft.com/es/downloads/
- Haz clic en el botón "Descargar" bajo Visual Studio Community.
2. Ejecución del instalador:
- Una vez descargado, ejecuta el archivo
vs_community.exe
. - El instalador de Visual Studio es en realidad un gestor de componentes que te permitirá seleccionar exactamente qué herramientas necesitas.
3. Selección de cargas de trabajo:
Las cargas de trabajo son conjuntos de componentes agrupados para escenarios de desarrollo específicos. Para programar en C#, recomendamos instalar:
- Desarrollo de escritorio de .NET: Para crear aplicaciones de Windows.
- Desarrollo de la plataforma universal de Windows: Para aplicaciones UWP.
- Desarrollo de ASP.NET y web: Si planeas desarrollar aplicaciones web.
- Desarrollo de .NET Core multiplataforma: Para aplicaciones que funcionan en Windows, macOS y Linux.
Para este curso, con seleccionar "Desarrollo de escritorio de .NET" es suficiente, ya que incluye los componentes básicos para C#.
4. Componentes individuales (opcional):
Puedes personalizar aún más tu instalación seleccionando componentes individuales. Para principiantes, los componentes incluidos en las cargas de trabajo son suficientes.
5. Resumen de la instalación:
- En la parte derecha verás un resumen de los componentes seleccionados y el espacio en disco requerido.
- Puedes cambiar la ubicación de instalación si lo deseas.
6. Inicio de la instalación:
- Haz clic en "Instalar" y espera a que se complete el proceso.
- La instalación puede tardar entre 10 y 30 minutos dependiendo de tu conexión a internet y la velocidad de tu ordenador.
7. Configuración inicial:
- Al finalizar la instalación, Visual Studio te pedirá iniciar sesión con una cuenta Microsoft (opcional pero recomendado para sincronizar configuraciones).
- Podrás seleccionar un tema de color (claro u oscuro) y otras preferencias iniciales.
Verificación de la instalación
Para comprobar que Visual Studio se ha instalado correctamente:
1. Abre Visual Studio desde el menú inicio o el acceso directo en el escritorio.
2. Verifica que puedes crear un nuevo proyecto:
- Haz clic en "Crear un proyecto nuevo".
- Busca y selecciona "Aplicación de consola (.NET Core)" o "Aplicación de consola (.NET Framework)".
- Haz clic en "Siguiente" y asigna un nombre al proyecto.
- Selecciona la ubicación donde guardar el proyecto.
- Haz clic en "Crear".
Si Visual Studio crea el proyecto y muestra el editor de código con un archivo Program.cs básico, la instalación se ha completado correctamente.
Actualizaciones y mantenimiento
Visual Studio incluye un sistema de actualización automática que te notificará cuando haya nuevas versiones disponibles:
- Las actualizaciones se pueden instalar desde el menú "Herramientas" > "Opciones" > "Entorno" > "Actualizaciones".
- Es recomendable mantener Visual Studio actualizado para acceder a las últimas características y correcciones de seguridad.
Solución de problemas comunes
Error de instalación: Si encuentras errores durante la instalación, el instalador suele proporcionar opciones de reparación. También puedes intentar descargar nuevamente el instalador.
Rendimiento lento: Visual Studio puede consumir muchos recursos. Asegúrate de que tu ordenador cumple con los requisitos mínimos (8GB de RAM recomendados).
Componentes faltantes: Si necesitas añadir componentes adicionales después de la instalación, puedes hacerlo ejecutando nuevamente el instalador y seleccionando "Modificar".
Con Visual Studio correctamente instalado, estarás listo para comenzar a crear tus primeros proyectos en C# y explorar el potente ecosistema de desarrollo de Microsoft.
Creando tu primer proyecto
Una vez instalado Visual Studio, es momento de crear nuestro primer proyecto en C#. Este proceso nos permitirá configurar un entorno de trabajo adecuado para comenzar a escribir código. Visual Studio simplifica enormemente esta tarea mediante plantillas predefinidas que configuran automáticamente la estructura básica del proyecto.
Iniciar Visual Studio
Al abrir Visual Studio por primera vez, verás la ventana de inicio que ofrece varias opciones. Para crear un nuevo proyecto, tienes dos caminos:
- Seleccionar "Crear un proyecto nuevo" directamente desde la pantalla de inicio
- Usar el menú Archivo > Nuevo > Proyecto si ya tienes Visual Studio abierto
Selección de plantilla
Visual Studio ofrece numerosas plantillas para diferentes tipos de aplicaciones. Para nuestro primer proyecto, utilizaremos una Aplicación de consola, que es ideal para aprender los fundamentos de C# sin la complejidad adicional de interfaces gráficas.
- En el buscador de plantillas, escribe "consola" para filtrar las opciones
- Selecciona "Aplicación de consola" asegurándote que sea para C#
- Haz clic en "Siguiente"
Configuración del proyecto
En la siguiente pantalla, deberás proporcionar información básica sobre tu proyecto:
- Nombre del proyecto: Elige un nombre descriptivo como "MiPrimerProyecto" o "HolaMundo"
- Ubicación: Selecciona la carpeta donde se guardará tu proyecto
- Nombre de la solución: Por defecto será igual al nombre del proyecto (puedes dejarlo así)
- Framework: Selecciona .NET 6.0 (o la versión más reciente disponible)
Nota: En Visual Studio, una solución puede contener múltiples proyectos relacionados. Para proyectos simples, tendrás una solución con un único proyecto.
Estructura inicial del proyecto
Después de hacer clic en "Crear", Visual Studio generará la estructura básica del proyecto y abrirá automáticamente el archivo Program.cs, que contiene el punto de entrada de nuestra aplicación.
El código generado automáticamente será similar a este:
// Para versiones recientes de .NET (6.0+)
Console.WriteLine("Hello, World!");
O en versiones anteriores:
// Para .NET Framework o .NET Core anteriores
using System;
namespace MiPrimerProyecto
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
Este código simplemente muestra el mensaje "Hello, World!" en la consola cuando se ejecuta el programa.
Explorador de soluciones
A la derecha (o izquierda, dependiendo de tu configuración) verás el Explorador de soluciones, que muestra la estructura de archivos y carpetas de tu proyecto:
Los elementos principales son:
- Referencias/Dependencias: Bibliotecas que utiliza tu proyecto
- Properties: Contiene configuraciones del proyecto
- Program.cs: El archivo principal de código fuente
Ejecutando tu primer programa
Para ejecutar el programa, tienes varias opciones:
- Presiona F5 para iniciar el programa en modo de depuración
- Presiona Ctrl+F5 para ejecutar sin depuración (más rápido para pruebas simples)
- Haz clic en el botón "Iniciar" (triángulo verde) en la barra de herramientas
Al ejecutar el programa, verás una ventana de consola que muestra el mensaje "Hello, World!" y, dependiendo del modo de ejecución, puede cerrarse automáticamente o esperar a que presiones una tecla.
Modificando el programa
Vamos a modificar nuestro programa para hacerlo un poco más interactivo:
// Solicitar el nombre al usuario
Console.Write("Por favor, introduce tu nombre: ");
string nombre = Console.ReadLine();
// Mostrar un saludo personalizado
Console.WriteLine($"¡Hola, {nombre}! Bienvenido a C#.");
// Esperar a que el usuario presione una tecla antes de cerrar
Console.WriteLine("Presiona cualquier tecla para salir...");
Console.ReadKey();
Este código:
- Solicita al usuario que introduzca su nombre
- Lee la entrada del usuario
- Muestra un saludo personalizado usando interpolación de cadenas (la sintaxis
$"..."
con variables entre llaves) - Espera a que el usuario presione una tecla antes de finalizar
Guardando el proyecto
Visual Studio guarda automáticamente los cambios cuando ejecutas el programa, pero también puedes guardar manualmente:
- Presiona Ctrl+S para guardar el archivo actual
- Presiona Ctrl+Shift+S para guardar todos los archivos de la solución
Compilación del proyecto
Antes de ejecutar el programa, Visual Studio lo compila (convierte el código C# en código máquina ejecutable):
- Para compilar sin ejecutar, presiona Ctrl+Shift+B
- Si hay errores de sintaxis, aparecerán en la ventana de Lista de errores
Depuración básica
Una de las grandes ventajas de Visual Studio es su potente depurador. Para usarlo:
- Haz clic en el margen izquierdo del editor para establecer un punto de interrupción (aparecerá un círculo rojo)
- Ejecuta el programa con F5 (modo depuración)
- El programa se detendrá en el punto de interrupción
- Usa F10 para ejecutar línea por línea o F5 para continuar hasta el siguiente punto de interrupción
Cerrando el proyecto
Para cerrar el proyecto actual:
- Selecciona Archivo > Cerrar solución
- O simplemente cierra Visual Studio si has terminado de trabajar
La próxima vez que abras Visual Studio, verás tu proyecto reciente en la lista de la pantalla de inicio para acceder rápidamente a él.
Con estos pasos básicos, has creado, modificado y ejecutado tu primer proyecto en C#. Este flujo de trabajo será la base para todos tus futuros desarrollos con este lenguaje.
Estructura básica de archivos
Cuando creamos un proyecto en C#, Visual Studio genera automáticamente una estructura de archivos y carpetas que sigue convenciones estándar del ecosistema .NET. Comprender esta estructura es fundamental para navegar eficientemente por nuestros proyectos y entender cómo se organizan las diferentes partes de nuestra aplicación.
Explorador de soluciones
El Explorador de Soluciones es la ventana principal donde podemos visualizar todos los archivos y carpetas de nuestro proyecto. Para abrirlo, puedes usar el menú Ver > Explorador de soluciones o presionar Ctrl+Alt+L.
En un proyecto de consola básico, encontrarás la siguiente estructura:
MiProyecto (Solución)
└── MiProyecto (Proyecto)
├── Dependencies
├── Properties
├── obj
├── bin
├── Program.cs
└── MiProyecto.csproj
Vamos a analizar cada uno de estos elementos:
Archivos principales
- Program.cs: Es el punto de entrada de nuestra aplicación. Contiene el método
Main()
(explícito en versiones anteriores a .NET 6, implícito en las más recientes) que se ejecuta cuando iniciamos el programa. En proyectos de consola simples, la mayor parte de nuestro código inicial estará aquí.
// Versión .NET 6 o superior (estilo de programa de nivel superior)
Console.WriteLine("Hola mundo desde Program.cs");
// Versiones anteriores
using System;
namespace MiProyecto
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hola mundo desde Program.cs");
}
}
}
- MiProyecto.csproj: Este archivo XML contiene la configuración del proyecto, incluyendo la versión del framework, referencias a paquetes externos, y otras opciones de compilación. Aunque normalmente no necesitarás editarlo manualmente, es importante entender su propósito.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
En este archivo:
OutputType
define el tipo de salida (Exe para aplicaciones de consola)TargetFramework
especifica la versión de .NETImplicitUsings
habilita importaciones automáticas de espacios de nombres comunesNullable
activa las comprobaciones de valores nulos
Carpetas del sistema
- Dependencies: Muestra las referencias a bibliotecas y paquetes que utiliza tu proyecto. Se divide en:
- Frameworks: Referencias al framework .NET
- Packages: Paquetes NuGet instalados
- Assemblies: Referencias a otros proyectos o DLLs
- Properties: Contiene archivos de configuración específicos:
- launchSettings.json: Define configuraciones para depuración y ejecución
bin: Carpeta donde se almacenan los archivos compilados (binarios) después de construir el proyecto. Se organiza en subcarpetas según la configuración (Debug/Release) y la plataforma.
obj: Contiene archivos temporales generados durante la compilación. No necesitas modificar estos archivos manualmente.
Archivos generados automáticamente
Algunos archivos no son visibles por defecto en el Explorador de Soluciones pero existen en la estructura de carpetas:
- AssemblyInfo.cs: Contiene metadatos sobre el ensamblado (versión, copyright, etc.)
- .AssemblyAttributes.cs: Archivos generados automáticamente con atributos del ensamblado
Añadiendo nuevos archivos
Para organizar mejor nuestro código, podemos añadir nuevos archivos de clase:
- Haz clic derecho en el proyecto en el Explorador de Soluciones
- Selecciona Agregar > Clase
- Asigna un nombre (por ejemplo,
Calculadora.cs
)
namespace MiProyecto
{
public class Calculadora
{
public int Sumar(int a, int b)
{
return a + b;
}
}
}
Organizando el proyecto con carpetas
Para proyectos más grandes, es recomendable organizar los archivos en carpetas lógicas:
- Haz clic derecho en el proyecto
- Selecciona Agregar > Nueva carpeta
- Asigna un nombre descriptivo (por ejemplo,
Models
,Services
,Utils
)
Una estructura común podría ser:
MiProyecto
├── Models
│ ├── Usuario.cs
│ └── Producto.cs
├── Services
│ └── CalculadoraService.cs
├── Utils
│ └── StringHelper.cs
└── Program.cs
Archivos de solución
- MiProyecto.sln: Este archivo se encuentra en el nivel superior y representa la solución completa. Contiene información sobre todos los proyectos incluidos y sus relaciones. Visual Studio utiliza este archivo para cargar todos los componentes relacionados.
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiProyecto", "MiProyecto\MiProyecto.csproj", "{GUID-DEL-PROYECTO}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
...
EndGlobal
Archivos de configuración
Para aplicaciones más complejas, podemos añadir archivos de configuración:
- appsettings.json: Almacena configuraciones de la aplicación en formato JSON
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=midb;User=usuario;Password=contraseña;"
},
"Logging": {
"LogLevel": {
"Default": "Information"
}
}
}
Gitignore y control de versiones
Al usar sistemas de control de versiones como Git, es importante incluir un archivo .gitignore para evitar subir archivos innecesarios:
# Carpetas generadas
bin/
obj/
# Archivos de usuario de Visual Studio
*.user
*.suo
.vs/
# Archivos de compilación
*.dll
*.pdb
*.exe
Estructura de proyectos múltiples
En soluciones más complejas, podemos tener múltiples proyectos organizados por responsabilidad:
MiSolucion
├── MiProyecto.API (Proyecto web)
├── MiProyecto.Core (Lógica de negocio)
├── MiProyecto.Data (Acceso a datos)
└── MiProyecto.Tests (Pruebas unitarias)
Cada proyecto tendrá su propio archivo .csproj
y estructura de carpetas, pero todos se gestionan desde la misma solución.
Navegación rápida entre archivos
Visual Studio ofrece varias formas de navegar eficientemente por la estructura de archivos:
- Ctrl+,: Abre la búsqueda rápida para encontrar cualquier archivo
- Ctrl+T: Busca símbolos (clases, métodos) en todo el proyecto
- F12: Navega a la definición de un símbolo
Dominar la estructura de archivos de un proyecto C# te permitirá organizar mejor tu código y navegar eficientemente por él, lo que resulta especialmente importante a medida que tus aplicaciones crecen en complejidad.
Otros ejercicios de programación de CSharp
Evalúa tus conocimientos de esta lección Creación de proyecto C# con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
CRUD en C# de modelo Customer sobre una lista
Arrays y listas
Objetos
Excepciones
Eventos
Lambdas
Diccionarios en C#
Variables y constantes
Tipos de datos
Herencia
Operadores
Uso de consultas LINQ
Clases y encapsulación
Uso de consultas LINQ
Excepciones
Control de flujo
Eventos
Diccionarios
Tipos de datos
Conjuntos, colas y pilas
Lambdas
Conjuntos, colas y pilas
Uso de async y await
Tareas
Constructores y destructores
Operadores
Arrays y listas
Polimorfismo
Polimorfismo
Variables y constantes
Proyecto colecciones y LINQ en C#
Clases y encapsulación
Creación de proyecto C#
Uso de async y await
Funciones
Delegados
Delegados
Constructores y destructores
Objetos
Control de flujo
Funciones
Tareas
Proyecto sintaxis en C#
Herencia C Sharp
OOP en C Sharp
Diccionarios
Introducción a C#
Todas las lecciones de CSharp
Accede a todas las lecciones de CSharp y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A C#
Introducción Y Entorno
Creación De Proyecto C#
Introducción Y Entorno
Variables Y Constantes
Sintaxis
Tipos De Datos
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Estructuras De Control Iterativo
Sintaxis
Interpolación De Strings
Sintaxis
Estructuras De Control Condicional
Sintaxis
Manejo De Valores Nulos
Sintaxis
Clases Y Encapsulación
Programación Orientada A Objetos
Objetos
Programación Orientada A Objetos
Constructores Y Destructores
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Genéricos
Programación Orientada A Objetos
Métodos Virtuales Y Sobrecarga
Programación Orientada A Objetos
Clases Abstractas
Programación Orientada A Objetos
Interfaces
Programación Orientada A Objetos
Propiedades Y Encapsulación
Programación Orientada A Objetos
Métodos De Extensión
Programación Orientada A Objetos
Clases Y Objetos
Programación Orientada A Objetos
Clases Parciales
Programación Orientada A Objetos
Miembros Estáticos
Programación Orientada A Objetos
Tuplas Y Tipos Anónimos
Programación Orientada A Objetos
Arrays Y Listas
Colecciones Y Linq
Diccionarios
Colecciones Y Linq
Conjuntos, Colas Y Pilas
Colecciones Y Linq
Uso De Consultas Linq
Colecciones Y Linq
Linq Avanzado
Colecciones Y Linq
Colas Y Pilas
Colecciones Y Linq
Conjuntos
Colecciones Y Linq
Linq Básico
Colecciones Y Linq
Delegados Funcionales
Programación Funcional
Records
Programación Funcional
Expresiones Lambda
Programación Funcional
Linq Funcional
Programación Funcional
Fundamentos De La Programación Funcional
Programación Funcional
Pattern Matching
Programación Funcional
Testing Unitario Con Xunit
Testing
Excepciones
Excepciones
Delegados
Programación Asíncrona
Eventos
Programación Asíncrona
Lambdas
Programación Asíncrona
Uso De Async Y Await
Programación Asíncrona
Tareas
Programación Asíncrona
En esta lección
Objetivos de aprendizaje de esta lección
- Instalar y configurar Visual Studio Community para desarrollo en C#.
- Crear un proyecto de consola básico en C# utilizando plantillas de Visual Studio.
- Comprender la estructura de archivos y carpetas generada automáticamente en un proyecto C#.
- Ejecutar, modificar y depurar un programa simple en C# dentro de Visual Studio.
- Organizar proyectos y soluciones, y manejar archivos de configuración y control de versiones.