我从asp.net core 2.0开始 用VS 2017创建了一个新项目。将它发布到windows azure。我收到错误IIS 502.5
检查日志流,我看到了
未处理的异常:System.FormatException:交换机映射中未定义短开关'-argFile'。 在Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationProvider.Load() 在Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1提供程序) 在Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() 在Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors) 在Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() 在RecruitmentStore.Host.Program.BuildWebHost(String [] args)中的D:\ RecruitmentStore \ RecruitmentStore.Host \ Program.cs:第20行 在RecruitmentStore.Host.Program.Main(String [] args)在D:\ RecruitmentStore \ RecruitmentStore.Host \ Program.cs:第17行
IIS详解 错误 - 502.5 - 错误网关
这是我的web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore requestTimeout="00:20:00"
processPath="bin\IISSupport\VSIISExeLauncher.exe"
arguments="-argFile IISExeLauncherArgs.txt"
forwardWindowsAuthToken="false"
stdoutLogEnabled="true"
stdoutLogFile="\\?\%home%\LogFiles\stdout"/>
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
我在bin文件夹(在我的本地)中看到了IISExeLauncherArgs.txt文件,但不知道它在Azure中是如何工作的。
你能告诉我如何解决这个问题吗?我确实多次重启了应用服务,这没有帮助
答案 0 :(得分:5)
正如我们发现的那样,问题是您在项目中有一个web.config
只能在Visual Studio中进行本地调试时使用。如果从项目中排除它,msbuild将在部署时生成正确的,并且它将在Azure上正确运行。
答案 1 :(得分:4)
web.config具有arguments="-argFile IISExeLauncherArgs.txt"
属性,需要在发布期间删除。这是一个示例ASP.NET Core 2.0应用程序,它在发布期间实现。我使用“文件系统”和“Web部署包”选项(对AWS EB部署非常有用)进行了测试
https://github.com/clearwaterstream/aspnet-websdk-issue242-workaround