Compartir a través de


Administración de plantillas de proyectos y elementos de .NET

.NET proporciona un sistema de plantillas que permite a los usuarios instalar o desinstalar paquetes que contienen plantillas desde NuGet, un archivo de paquete NuGet o un directorio del sistema de archivos. En este artículo, se describe cómo administrar plantillas de .NET mediante la CLI del SDK de .NET.

Para obtener más información sobre la creación de plantillas, consulte Tutorial: Creación de plantillas.

Instalación de plantillas

Los paquetes de plantilla se instalan mediante el comando dotnet new install del SDK. Puede proporcionar el identificador del paquete NuGet de un paquete de plantilla o una carpeta que contenga los archivos de plantilla.

Paquete hospedado en NuGet

Los paquetes de plantillas de la CLI de .NET se cargan en NuGet para una distribución amplia. Los paquetes de plantillas también se pueden instalar desde una fuente privada. En lugar de cargar un paquete de plantilla en una fuente de NuGet, los archivos de plantilla de nupkg se pueden distribuir e instalar manualmente, tal como se describe en la sección Paquete NuGet local.

Para obtener más información sobre cómo configurar las fuentes de NuGet, vea dotnet nuget add source.

Para instalar un paquete de plantilla desde la fuente de NuGet predeterminada, use el comando dotnet new install {package-id}:

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates

Para instalar un paquete de plantilla desde la fuente de NuGet predeterminada con una versión específica, use el comando dotnet new install {package-id}::{version}:

dotnet new install Microsoft.DotNet.Web.Spa.ProjectTemplates::2.2.6

Paquete NuGet local

Cuando se crea un paquete de plantilla, se genera un archivo nupkg. Si tiene un archivo nupkg que contiene plantillas, puede instalarlo con el comando dotnet new install {path-to-package}:

dotnet new install c:\code\nuget-packages\Some.Templates.1.0.0.nupkg
dotnet new install ~/code/nuget-packages/Some.Templates.1.0.0.nupkg

Carpeta

Como alternativa a la instalación de una plantilla desde un archivo nupkg, también puede instalar plantillas desde una carpeta directamente con el comando dotnet new install {folder-path}. La carpeta especificada se trata como el identificador del paquete de plantilla para cualquier plantilla que se encuentre. Se instalarán todas las plantillas que estén en la jerarquía de la carpeta especificada.

dotnet new install c:\code\nuget-packages\some-folder\
dotnet new install ~/code/nuget-packages/some-folder/

La ruta {folder-path} especificada en el comando se convierte en el identificador del paquete de plantilla para todas las plantillas que se encuentren. Tal como se especifica en la sección Enumeración de paquetes de plantilla, puede obtener una lista de los paquetes de plantilla instalados con el comando dotnet new uninstall. En este ejemplo, el identificador del paquete de plantilla se muestra como la carpeta utilizada para la instalación:

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall
Currently installed items:

... cut to save space ...

  /home/username/code/templates
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall /home/username/code/templates

Desinstalación de un paquete de plantilla

Los paquetes de plantilla se desinstalan mediante el comando dotnet new uninstall del SDK. Puede proporcionar el identificador del paquete NuGet de un paquete de plantilla o una carpeta que contenga los archivos de plantilla.

Paquete de NuGet

Una vez instalado el paquete de plantilla de NuGet, ya sea desde una fuente de NuGet o un archivo nupkg, puede desinstalarlo mediante una referencia al identificador del paquete NuGet.

Para desinstalar un paquete de plantilla, use el comando dotnet new uninstall {package-id}:

dotnet new uninstall Microsoft.DotNet.Web.Spa.ProjectTemplates

Carpeta

Cuando las plantillas se instalan mediante una ruta de acceso de carpeta, dicha ruta se convierte en el identificador del paquete de plantilla.

Para desinstalar un paquete de plantilla, use el comando dotnet new uninstall {package-folder-path}:

dotnet new uninstall c:\code\nuget-packages\some-folder
dotnet new uninstall /home/username/code/templates

Enumeración de paquetes de plantilla

Al usar el comando de desinstalación estándar sin un identificador de paquete, puede ver una lista de los paquetes de plantilla instalados, junto con el comando que desinstala cada paquete de plantilla.

dotnet new uninstall
Currently installed items:

... cut to save space ...

  c:\code\nuget-packages\some-folder
    Templates:
      A Template Console Class (templateconsole) C#
      Project for some technology (contosoproject) C#
    Uninstall Command:
      dotnet new uninstall c:\code\nuget-packages\some-folder

Instalación de paquetes de plantilla desde otros SDK

Si ha instalado cada versión del SDK secuencialmente (por ejemplo, si ha instalado el SDK 6.0, después el SDK 7.0, etc.), tendrá instaladas las plantillas de cada SDK. Sin embargo, si empieza con una versión posterior del SDK, como la 7.0, solo se incluyen las plantillas de esta versión. No se incluyen las plantillas para ninguna otra versión.

Las plantillas de .NET están disponibles en NuGet y se pueden instalar como cualquier otra plantilla. Para obtener más información, consulte Instalación del paquete hospedado en NuGet.

SDK Identificador del paquete NuGet
.NET Core 2.1 Microsoft.DotNet.Common.ProjectTemplates.2.1
.NET Core 2.2 Microsoft.DotNet.Common.ProjectTemplates.2.2
.NET Core 3.0 Microsoft.DotNet.Common.ProjectTemplates.3.0
.NET Core 3.1 Microsoft.DotNet.Common.ProjectTemplates.3.1
.NET 5.0 Microsoft.DotNet.Common.ProjectTemplates.5.0
.NET 6.0 Microsoft.DotNet.Common.ProjectTemplates.6.0
.NET 7.0 Microsoft.DotNet.Common.ProjectTemplates.7.0
.NET 8.0 Microsoft.DotNet.Common.ProjectTemplates.8.0
.NET 9.0 Microsoft.DotNet.Common.ProjectTemplates.9.0
ASP.NET Core 2.1 Microsoft.DotNet.Web.ProjectTemplates.2.1
ASP.NET Core 2.2 Microsoft.DotNet.Web.ProjectTemplates.2.2
ASP.NET Core 3.0 Microsoft.DotNet.Web.ProjectTemplates.3.0
ASP.NET Core 3.1 Microsoft.DotNet.Web.ProjectTemplates.3.1
ASP.NET Core 5.0 Microsoft.DotNet.Web.ProjectTemplates.5.0
ASP.NET Core 6.0 Microsoft.DotNet.Web.ProjectTemplates.6.0
ASP.NET Core 7.0 Microsoft.DotNet.Web.ProjectTemplates.7.0
ASP.NET Core 8.0 Microsoft.DotNet.Web.ProjectTemplates.8.0
ASP.NET Core 9.0 Microsoft.DotNet.Web.ProjectTemplates.8.0

Por ejemplo, el SDK de .NET 9 incluye plantillas para una aplicación de consola destinada a .NET 9. Si quiere que el destino sea .NET Core 3.1, deberá instalar el paquete de plantilla de la versión 3.1.

  1. Pruebe a crear una aplicación que tenga como destino .NET Core 3.1.

    dotnet new console --framework netcoreapp3.1
    

    Si ve un mensaje de error, debe instalar las plantillas.

  2. Instale las plantillas de proyecto de .NET Core 3.1.

    dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
    
  3. Pruebe a crear la aplicación otra vez.

    dotnet new console --framework netcoreapp3.1
    

    Debería ver un mensaje que indica que se ha creado el proyecto.

    The template "Console Application" was created successfully.
    
    Processing post-creation actions...
    Running 'dotnet restore' on path-to-project-file.csproj...
      Determining projects to restore...
      Restore completed in 1.05 sec for path-to-project-file.csproj.
    
    Restore succeeded.
    

Consulte también