dotnet build /P:PublishProfile 到 Linux 应用服务

问题描述 投票:0回答:1

我有以下命令行

dotnet build "path to the project/MyProject.csproj" /P:DeleteExistingFiles=true /P:SkipExtraFilesOnServer=false /P:DeployOnBuild=true /P:PublishProfile=linux-publish-profile /P:AllowUntrustedCertificate=true /P:Configuration=Release /P:Username=$linux_user /P:Password=987lskdjfhw434k5hökjk345345k3j45

以及以下发布配置文件

<Project>
  <PropertyGroup>
    <WebPublishMethod>ZipDeploy</WebPublishMethod>
    <IsLinux>true</IsLinux>
    <ResourceId>/subscriptions/some subscription/resourceGroups/some-resource-group/providers/Microsoft.Web/sites/my-app</ResourceId>
    <ResourceGroup>some-resource-group</ResourceGroup>
    <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
    <SiteUrlToLaunchAfterPublish>http://my-app-stage.azurewebsites.net</SiteUrlToLaunchAfterPublish>
    <PublishProvider>AzureWebSite</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <ProjectGuid>b6eccaec-519f-41b2-a3ee-d7bdb6bbf440</ProjectGuid>
    <PublishUrl>https://my-app-stage.scm.azurewebsites.net/</PublishUrl>
    <UserName>$linux-user</UserName>
    <_SavePWD>true</_SavePWD>
  </PropertyGroup>
</Project>

该部署确实适用于 VS 2022 中的此发布配置文件。 但不是作为命令行。 命令行确实可以将配置文件发布到 Windows 应用程序服务。

.net azure-web-app-service
1个回答
0
投票

我创建了一个示例项目并通过命令行将其部署到 Azure 应用服务。

  • 不要使用

    dotnet build
    ,而是使用
    dotnet msbuild
    在复杂的构建和部署任务中获得更多控制和灵活性。

  • 我引用了这个Msdoc并使用以下命令来部署应用程序。

dotnet publish -c Release
dotnet msbuild "path/to/your/project/MyLinuxApp.csproj" /p:DeployOnBuild=true /p:PublishProfile="path/to/linuxapp18.PublishSettings" /p:AllowUntrustedCertificate=true /p:UserName=$LINUX_USER /p:Password=$LINUX_PASSWORD
  • 在您的
    .csproj
    文件中添加运行时标识符 (linux-x64) 以将应用程序部署到 Azure 应用服务 (Linux)。
  <RuntimeIdentifiers>linux-x64</RuntimeIdentifiers>

.csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <RuntimeIdentifiers>linux-x64</RuntimeIdentifiers>
  </PropertyGroup>

</Project>

enter image description here

部署后输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.