Команда публикации dotnet не создает пакет zip-файла для основного проекта веб-приложения asp.net

Я пытаюсь создать пакет веб-развертывания для основного веб-приложения asp.net. Когда я попытался опубликовать вывод как пакет, используя VS2017, я получил все необходимые файлы в папке "Опубликовать", а также zip-файл, содержащий все эти файлы в указанном месте.

Однако я хочу иметь то же самое, используя командную строку. Я могу получить папку "Опубликовать", но не zip-файл. Что я делаю неправильно? Может кто-нибудь исправить мою команду?

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

2 ответа

Решение

Что я делаю неправильно? Может кто-нибудь исправить мою команду?

Это зависит от версии вашего клиента.

Если вы используете версию 2.0 cli, то вы можете использовать команду dotnet publish на машине с Windows, и она будет работать.

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"

Но если вы используете версию cli.4 для 1.0.4, вам следует использовать версию команды msbuild (возможность вызывать сборку dotnet была добавлена ​​в 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"

Для получения подробной информации, вы можете обратиться к той же проблеме на GitHub.

я использовал dotnet publish -c Release /p:WebPublishMethod=Package /p:PackageLocation="C:\Temp"для приложения Uno Platform, и оно работает хорошо

Может быть, это потому, что вы указали полное имя файла в /p:PackageLocation=вместо папки?

Другие вопросы по тегам