web-dev-qa-db-fra.com

La commande dotnet publish ne crée pas de package de fichiers Zip pour le projet d'application Web principal asp.net

J'essaie de créer un package de déploiement Web pour l'application Web principale asp.net. Lorsque j'ai essayé de publier la sortie sous forme de package à l'aide de VS2017, j'ai obtenu tous les fichiers nécessaires dans le dossier "Publish" ainsi qu'un fichier Zip contenant tous ces fichiers à un emplacement donné.

Cependant, je veux avoir la même chose en utilisant la ligne de commande. Je peux obtenir le dossier "Publier", mais pas un fichier Zip. Qu'est-ce que je fais mal? Quelqu'un peut-il corriger ma commande?

dotnet publish /p:target=package /p:WebPublishMethod=Package /p:LastUsedBuildConfiguration=Release /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=True /p:ExcludeApp_Data=False /p:PublishFramework=netcoreapp1.0 /p:UsePowerShell=True /p:DesktopBuildPackageLocation=C:\Kannan\Temp\package.Zip /p:PackageLocation="C:\kannan\temp\package.Zip" /p:PackageFileName=C:\kannan\temp\package.Zip /p:PackageAsSingleFile=true
9
Kannan D

Qu'est-ce que je fais mal? Quelqu'un peut-il corriger ma commande?

Cela dépend de la version de votre cli.

Si vous utilisez la version 2.0 de cli, vous pouvez utiliser la commande dotnet publish sur une machine Windows et cela fonctionnera.

dotnet build WebApplicationDeploy.sln /nologo /p:PublishProfile=Release /p:PackageLocation="C:\Some\Path\package" /p:OutDir="C:\Some\Path\out" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="C:\Some\Path\package\package.Zip"

Mais si vous utilisez la version 1.0.4 du cli, alors vous devez utiliser la version msbuild de la commande (La possibilité d'appeler la construction dotnet a été ajoutée en 2.0 cli).

msbuild WebApplicationDeploy.sln /nologo /p:PublishProfile=Release /p:PackageLocation="C:\Some\Path\package" /p:OutDir="C:\Some\Path\out" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="C:\Some\Path\package\package.Zip"

Pour les informations détaillées, vous pouvez vous référer à le même problème sur GitHub.

15
Leo Liu-MSFT