dotnet publishdotnet publish

Cette rubrique s’applique au : ✓ SDK .NET Core 1.x SDK .NET Core 2.xThis topic applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

NameName

dotnet publish - Empaquette l’application et ses dépendances dans un dossier en vue d’un déploiement sur un système d’hébergement.dotnet publish - Packs the application and its dependencies into a folder for deployment to a hosting system.

RésuméSynopsis

dotnet publish [<PROJECT>] [-c|--configuration] [-f|--framework] [--force] [--manifest] [--no-build] [--no-dependencies]
    [--no-restore] [-o|--output] [-r|--runtime] [--self-contained] [-v|--verbosity] [--version-suffix]
dotnet publish [-h|--help]

DescriptionDescription

dotnet publish compile l’application, parcourt ses dépendances spécifiées dans le fichier projet et publie l’ensemble de fichiers obtenus dans un répertoire.dotnet publish compiles the application, reads through its dependencies specified in the project file, and publishes the resulting set of files to a directory. La sortie inclut les ressources suivantes :The output includes the following assets:

  • Le code de langage intermédiaire (IL) dans un assembly avec l’extension dll.Intermediate Language (IL) code in an assembly with a dll extension.
  • Le fichier .deps.json qui inclut toutes les dépendances du projet..deps.json file that includes all of the dependencies of the project.
  • Le fichier .runtime.config.json qui spécifie le runtime partagé attendu par l’application, ainsi que d’autres options de configuration pour le runtime (par exemple, le type de garbage collection)..runtime.config.json file that specifies the shared runtime that the application expects, as well as other configuration options for the runtime (for example, garbage collection type).
  • Les dépendances de l’application, qui sont copiées à partir du cache NuGet dans le dossier de sortie.The application's dependencies, which are copied from the NuGet cache into the output folder.

La sortie de la commande dotnet publish est prête pour le déploiement sur un système d’hébergement (par exemple, un serveur, PC, Mac, ordinateur portable) à des fins d’exécution.The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution. Il s’agit de la seule façon officiellement prise en charge pour préparer l’application au déploiement.It's the only officially supported way to prepare the application for deployment. En fonction du type de déploiement que spécifie le projet, le runtime .NET Core partagé peut ou non être installé sur le système d’hébergement.Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET Core shared runtime installed on it. Pour plus d’informations, consultez la page Déploiement d’applications .NET Core.For more information, see .NET Core Application Deployment. Pour connaître la structure des répertoires d’une application publiée, consultez la page Structure de répertoires.For the directory structure of a published application, see Directory structure.

Notes

À compter de .NET Core 2.0, vous ne devez pas exécuter dotnet restore, car il est exécuté implicitement par toutes les commandes qui nécessitent une restauration, comme dotnet build et dotnet run.Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands, such as dotnet build and dotnet run, that require a restore to occur. Cette commande reste néanmoins valide dans certains scénarios où une restauration explicite est nécessaire, comme des builds d’intégration continue dans Azure DevOps Services ou dans les systèmes de génération qui doivent contrôler explicitement le moment auquel la restauration se produit.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.

Cette commande prend également en charge les options de dotnet restore quand elles sont passées sous leur forme longue (par exemple --source).This command also supports the dotnet restore options when passed in the long form (for example, --source). Les options sous forme abrégée, comme -s, ne sont pas prises en charge.Short form options, such as -s, are not supported.

ArgumentsArguments

PROJECT

Projet à publier.The project to publish. Chemin et nom de fichier d’un fichier projet C#, F# ou Visual Basic, ou chemin vers un répertoire qui contient un fichier projet C#, F# ou Visual Basic.It's either the path and filename of a C#, F#, or Visual Basic project file, or the path to a directory that contains a C#, F#, or Visual Basic project file. Si aucune valeur n’est spécifiée, le répertoire actif est utilisé par défaut.If not specified, it defaults to the current directory.

OptionsOptions

-c|--configuration {Debug|Release}

Définit la configuration de build.Defines the build configuration. La valeur par défaut est Debug.The default value is Debug.

-f|--framework <FRAMEWORK>

Publie l’application pour le framework cible spécifié.Publishes the application for the specified target framework. Le framework cible doit être spécifié dans le fichier projet.You must specify the target framework in the project file.

--force

Force la résolution de toutes les dépendances même si la dernière restauration a réussi.Forces all dependencies to be resolved even if the last restore was successful. Définir cet indicateur revient à supprimer le fichier project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Affiche une aide brève pour la commande.Prints out a short help for the command.

--manifest <PATH_TO_MANIFEST_FILE>

Spécifie un ou plusieurs manifestes cibles à utiliser pour épurer l’ensemble des packages publiés avec l’application.Specifies one or several target manifests to use to trim the set of packages published with the app. Le fichier manifeste fait partie de la sortie de la commande dotnet store.The manifest file is part of the output of the dotnet store command. Pour spécifier plusieurs manifestes, ajoutez une option --manifest pour chaque manifeste.To specify multiple manifests, add a --manifest option for each manifest. Cette option est disponible à partir du SDK .NET Core 2.0.This option is available starting with .NET Core 2.0 SDK.

--no-build

Ne génère pas le projet avant la publication.Doesn't build the project before publishing. L’indicateur --no-restore est également défini implicitement.It also implicitly sets the --no-restore flag.

--no-dependencies

Ignore les références entre projets et restaure uniquement le projet racine.Ignores project-to-project references and only restores the root project.

--no-restore

N’effectue pas de restauration implicite à l’exécution de la commande.Doesn't execute an implicit restore when running the command.

-o|--output <OUTPUT_DIRECTORY>

Spécifie le chemin d’accès du répertoire de sortie.Specifies the path for the output directory. Si aucune valeur n’est spécifiée, il s’agit par défaut de ./bin/[configuration]/[framework]/publish/ pour un déploiement dépendant du framework ou de ./bin/[configuration]/[framework]/[runtime]/publish/ pour un déploiement autonome.If not specified, it defaults to ./bin/[configuration]/[framework]/publish/ for a framework-dependent deployment or ./bin/[configuration]/[framework]/[runtime]/publish/ for a self-contained deployment. Si le chemin est relatif, le répertoire de sortie généré est relatif à l’emplacement du fichier projet, et non au répertoire de travail actuel.If the path is relative, the output directory generated is relative to the project file location, not to the current working directory.

--self-contained

Publie le runtime .NET Core avec votre application ; ainsi, vous n’avez pas besoin d’installer le runtime sur l’ordinateur cible.Publishes the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Si un identificateur de runtime est spécifié, sa valeur par défaut est true.If a runtime identifier is specified, its default value is true. Pour plus d’informations sur les différents types de déploiement, consultez Déploiement d’applications .NET Core.For more information about the different deployment types, see .NET Core application deployment.

-r|--runtime <RUNTIME_IDENTIFIER>

Publie l’application pour un runtime donné.Publishes the application for a given runtime. Cette option est utilisée pour créer un déploiement autonome (SCD).This is used when creating a self-contained deployment (SCD). Pour connaître les identificateurs de runtime, consultez le catalogue des identificateurs de runtime.For a list of Runtime Identifiers (RIDs), see the RID catalog. Par défaut, vous publiez un déploiement dépendant du framework (FDD).Default is to publish a framework-dependent deployment (FDD).

-v|--verbosity <LEVEL>

Définit le niveau de détail de la commande.Sets the verbosity level of the command. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

--version-suffix <VERSION_SUFFIX>

Définit le suffixe de version qui remplace l’astérisque (*) dans le champ de version du fichier projet.Defines the version suffix to replace the asterisk (*) in the version field of the project file.

ExemplesExamples

Publier le projet dans le répertoire actif :Publish the project in the current directory:

dotnet publish

Publier l’application à l’aide du fichier projet spécifié :Publish the application using the specified project file:

dotnet publish ~/projects/app1/app1.csproj

Publier le projet dans le répertoire actif à l’aide du framework netcoreapp1.1 :Publish the project in the current directory using the netcoreapp1.1 framework:

dotnet publish --framework netcoreapp1.1

Publier l’application actuelle à l’aide du framework netcoreapp1.1 et du runtime pour OS X 10.10 (vous devez lister cet identificateur de runtime dans le fichier projet) :Publish the current application using the netcoreapp1.1 framework and the runtime for OS X 10.10 (you must list this RID in the project file).

dotnet publish --framework netcoreapp1.1 --runtime osx.10.11-x64

Publier l’application actuelle, mais ne pas restaurer les références de projet à projet (P2P), seulement le projet racine durant l’opération de restauration (SDK .NET Core 2.0 et ultérieur) :Publish the current application but don't restore project-to-project (P2P) references, just the root project during the restore operation (.NET Core SDK 2.0 and later versions):

dotnet publish --no-dependencies

Voir aussiSee also