首页 文章

ASP.NET Core后发布未在Visual Studio Team Services上执行

提问于
浏览
1

将我的简单应用程序部署到Azure作为App Service时,我遇到了一个非常奇怪的问题 . 该应用程序是ASP.NET Core和React前端 . 部署流程如下所示:

  • 我编码,提交并推送到开发分支

  • Visual Studio Team Services获取更改并开始构建过程:Build steps,示例发布步骤日志:log

  • 然后,在成功构建之后,发布过程将获取工件并启动Azure部署 .

  • 结果:几天前所有人都已经工作了,但现在web.config没有使用IIS集成工具进行转换,因此它保持原始状态:

<!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>

因此,当您尝试通过URL访问应用服务时,它会因错误502而崩溃 . 我通过访问app服务文件并手动更改web.config来验证,应用程序与正确的web.config一起正常工作 . 我的project.json:

{
    "dependencies": {
        "Autofac.Extensions.DependencyInjection": "4.0.0",
        "AutoMapper": "5.2.0",
        "AutoMapper.Extensions.Microsoft.DependencyInjection": "1.2.0",
        "HumanAction.Historykon.Configuration": "1.0.0-*",
        "HumanAction.Historykon.DataAccessLayer": "1.0.0-*",
        "HumanAction.Historykon.Domain": "1.0.0-*",
        "Microsoft.ApplicationInsights.AspNetCore": "2.0.0",
        "Microsoft.AspNetCore.Cors": "1.0.1",
        "Microsoft.AspNetCore.Mvc": "1.0.1",
        "Microsoft.AspNetCore.Routing": "1.0.1",
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.1",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.EntityFrameworkCore": "1.0.1",
        "Microsoft.EntityFrameworkCore.Design": {
            "version": "1.0.1",
            "type": "build"
        },
        "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
        "Microsoft.EntityFrameworkCore.Tools": {
            "version": "1.0.0-preview4-final"
        },
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.1",
        "Microsoft.Extensions.Configuration.FileExtensions": "1.0.1",
        "Microsoft.Extensions.Configuration.Json": "1.0.1",
        "Microsoft.Extensions.Logging": "1.0.1",
        "Microsoft.Extensions.Logging.Console": "1.0.1",
        "Microsoft.Extensions.Logging.Debug": "1.0.1",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.1",
        "Microsoft.NETCore.App": {
            "version": "1.0.1",
            "type": "platform"
        }
    },

  "tools": {
            "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
                            "version": "1.0.0-preview2-final"
            } 
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "**/*.cshtml",
      "appsettings.json",
      "appsettings.Dev.json",
      "appsettings.Qa.json",
      "appsettings.Live.json",
      "web.config"
    ]
  },

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

问题是:当我使用Visual Studio在本地发布应用程序时,一切顺利,web.config是正确的,应用程序正常工作 .

最后,问题是:出了什么问题?在之前,我想留在这个版本的sdk,但如果没有其他选项,我会考虑更新 . 非常感谢任何建议!

1 回答

相关问题