ASP.NET Core与github一起部署以使应用程序服务蔚蓝,但有异常:无法加载文件或程序集EnvironmentVariables,版本= 3.1.0.0

时间:2020-09-21 11:54:43

标签: azure asp.net-core github

我正在创建一个ASP.NET Core应用程序(.NET Core 3.1)。

当我从Visual Studio将应用程序部署到Azure App Services时,一切正常:

  • 目标框架:netcoreapp3.1
  • 方法:框架依赖性
  • 便携式

我要移动构建并将其部署到github

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core app to Azure Web App - ...

on:
  push:
    branches:
      - master

jobs:
  build-and-deploy:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@master

    - name: Set up .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '3.1.102'

    - name: Build with dotnet
      run: dotnet build --configuration Release

    - name: dotnet publish
      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v2
      with:
        app-name: '...'
        slot-name: 'production'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_... }}
        package: ${{env.DOTNET_ROOT}}/myapp 

现在,当我运行网站时,出现错误: HTTP错误500.30-ANCM进程内启动失败 此问题的常见解决方案:

The application failed to start
The application started but then stopped
The application started but threw an exception during startup

故障排除步骤:

Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect

当我在Azure中的应用程序事件日志中时,我看到第一个错误:

应用程序:w3wp.exe

CoreCLR版本:4.700.20.26901

.NET Core版本:3.1.6

说明:由于未处理的异常,进程已终止。

异常信息:System.IO.FileNotFoundException:无法加载文件 或程序集“ Microsoft.Extensions.Configuration.EnvironmentVariables, 版本= 3.1.0.0,文化=中性,PublicKeyToken = adb9793829ddae60'。 系统找不到指定的文件。

文件名:“ Microsoft.Extensions.Configuration.EnvironmentVariables, 版本= 3.1.0.0,文化=中性,PublicKeyToken = adb9793829ddae60'

在 Microsoft.AspNetCore.Hosting.GenericWebHostBuilder..ctor(IHostBuilder 建造者)

在 Microsoft.Extensions.Hosting.GenericHostWebHostBuilderExtensions.ConfigureWebHost(IHostBuilder 构建器,操作1进行配置)

在 Microsoft.Extensions.Hosting.GenericHostBuilderExtensions.ConfigureWebHostDefaults(IHostBuilder 构建器,操作1进行配置)

在SW.Server.Program.CreateHostBuilder(String [] args)中 D:\ a \ SW \ SW \ Server \ Program.cs:第15行

在SW.Server.Program.Main(String [] args)中 D:\ a \ SW \ SW \ Server \ Program.cs:第11行

我试图分析问题,发现使用Visual Studio进行部署时未创建程序集“ Microsoft.Extensions.Configuration.EnvironmentVariables”,但是使用github时确实存在Microsoft.Extensions.Configuration.EnvironmentVariables.dll可用。文件版本为2.2.0.18315。

我认为问题与github有关,因为当我直接部署到Azure时,我没有问题。但是我不明白为什么github的构建和部署是不同的,为什么会有2.2.0.18315部署的EnvironmentVariables.dll。

0 个答案:

没有答案