Azure Web App和.NetCore WebAPI-缺少web.config

时间:2019-02-01 21:43:11

标签: azure asp.net-core azure-web-sites

据我了解,.NetCore不再使用/不需要web.config,而是选择使用appsettings.json。

我有一个.NetCore WebAPI,我正尝试将其托管在Azure WebApp中。我已经将API发布到了WebApp,但仍然出现500错误。查看应用程序日志,我可以看到错误是:

IIS was not able to access the web.config file for the web site or application.

我很困惑。如果.NetCore使用appsettings.json而不是web.config,而Azure没有web.config将无法运行,那么应该如何在Azure中托管.NetCore应用?

更新

我现在意识到,由于@ joey-cai向我指出了正确的方向,因此这与web.config无关。

Azure似乎不喜欢我在连接字符串中使用Azure Active Directory身份验证的尝试。我将连接字符串更改为仅使用SQL身份验证,并且一切正常。所以我想我现在的问题是,如何对连接字符串使用AAD身份验证而不是SQL身份验证。

This SO thread似乎表明我的连接字符串确实为AAD身份验证正确设置,但出现错误:

Keyword not supported: 'authentication' 

每当我这样使用连接字符串时:

Server=tcp:dbname.database.windows.net,1433;Initial Catalog=dbnamesqldb;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication="Active Directory Password";

由于问题已更改,I'm going to create a new post with the new question

1 个答案:

答案 0 :(得分:0)

  

这是否意味着我必须具有we.config?如果是这样,它可以只是一个空文件吗?

将.net核心项目部署到Azure时,可以转到https://xxxxx.scm.azurewebsites.net并单击Debug console> CMD > site > wwwroot > web.config. web.config将在那里。

尝试以天蓝色删除站点,然后以天蓝色重新创建站点。另外,尝试通过运行dotnet MyApp.dll并确保运行正常运行正在部署的应用程序。您需要更多有关其为什么出现应用程序问题的详细信息。这可能会有所帮助。还可以考虑使用自包含的应用程序进行测试。另外,请尝试在azure应用程序服务上安装asp.net core extension

有关更多详细信息,请参阅Deploy ASP.NET Core apps to Azure App Service