Команда публикации 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=
вместо папки?