首页 文章

使用新的MSBuild for dotnet core发布到IIS?

提问于
浏览
2

我正在尝试通过VSTS中的Release Manager实现Azure Web App部署 . 我知道在迁移到msnet核心1.1的MSBuild之前我们在project.json中有这个:

"tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
  },

  "scripts": {
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
  }

目前我正在使用类似:dotnet publish --framework netcoreapp1.1 -c'Release'-o'C:\ output'

生成的web.config有:

<aspNetCore processPath="dotnet" arugments=".\MyApp.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />

但是,当通过Kudu将其部署到Azure Web App时,我从IIS收到“HTTP 502.5 - 进程失败”异常 . 我假设这是因为IIS不理解这个processPath . 本地我只通过Kestrel运行,因为我有其他开发人员没有在Windows机器上工作 .

我是否需要针对部署构建目标完整的.NET Framework,或者我是否缺少允许在Azure Web Apps中运行的IIS来托管dotnet核心1.1应用程序?

1 回答

  • 1

    确保您使用的是“Microsoft.NET.Sdk.Web” .

    <Project Sdk="Microsoft.NET.Sdk.Web">
       <PropertyGroup>
          <TargetFramework>netcoreapp1.1</TargetFramework>
       </PropertyGroup>
    </Project>
    

    这应该自动处理IIS发布步骤 . 如果您遇到错误,请尝试在https://github.com/aspnet/websdk上打开问题 .

相关问题