我正在创建一个ASP.NET Core应用程序(.NET Core 3.1)。
当我从Visual Studio将应用程序部署到Azure App Services时,一切正常:
我要移动构建并将其部署到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。