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ícate

Instalando 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:

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.

  1. En el buscador de plantillas, escribe "consola" para filtrar las opciones
  2. Selecciona "Aplicación de consola" asegurándote que sea para C#
  3. 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:

  1. Solicita al usuario que introduzca su nombre
  2. Lee la entrada del usuario
  3. Muestra un saludo personalizado usando interpolación de cadenas (la sintaxis $"..." con variables entre llaves)
  4. 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:

  1. Haz clic en el margen izquierdo del editor para establecer un punto de interrupción (aparecerá un círculo rojo)
  2. Ejecuta el programa con F5 (modo depuración)
  3. El programa se detendrá en el punto de interrupción
  4. 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 .NET
  • ImplicitUsings habilita importaciones automáticas de espacios de nombres comunes
  • Nullable 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:

  1. Haz clic derecho en el proyecto en el Explorador de Soluciones
  2. Selecciona Agregar > Clase
  3. 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:

  1. Haz clic derecho en el proyecto
  2. Selecciona Agregar > Nueva carpeta
  3. 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.

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.

Aprende CSharp online

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.

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

Accede GRATIS a CSharp y certifícate

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.