错误如下:
.An error occurred while starting the application.
.NET Core 4.6.27414.06 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 2.1.1-rtm-30846 | Microsoft Windows 6.1.7601 S | Need help?
一般情况下在本地跑没问题,发布到服务器后出现问题就要查看错误信息, 如果请求中没写明,那就得打开iis日志查看了.
修改发布后的web.config
修改如下
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\someApi.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 35a709bd-73f3-4f4e-b6c8-812a3da60d8d-->
其实就是将stdoutLogEnabled
的值由原来的false
改为true
,
修改完之后还要重启iis或刷新iis,然而刷新一下浏览器或请求之后并没有看到log, 原因是系统没有自动创建logs文件夹,需要我们手动创建,在网站跟目录创建logs文件夹后同样要重启iis或刷新iis才能生效,请求一下接口就可以看到logs文件夹下的stdout_**_*****.log
文件了,然后就可以查看错误信息了,
Application startup exception: System.ArgumentException: The directory name 'D:\web\someApi\upload\' does not exist.
Parameter name: path
at System.IO.FileSystemWatcher..ctor(String path, String filter)
at System.IO.FileSystemWatcher..ctor(String path)
at Microsoft.Extensions.FileProviders.PhysicalFileProvider.CreateFileWatcher(String root, ExclusionFilters filters)
at roadMarkerApi.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in D:\work\web\roadMarker\roadMarkerApi\roadMarkerApi\Startup.cs:line 154
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
crit: Microsoft.AspNetCore.Hosting.Internal.WebHost[6]
Application startup exception
System.ArgumentException: The directory name 'D:\web\someApi\upload\' does not exist.
Parameter name: path
at System.IO.FileSystemWatcher..ctor(String path, String filter)
at System.IO.FileSystemWatcher..ctor(String path)
at Microsoft.Extensions.FileProviders.PhysicalFileProvider.CreateFileWatcher(String root, ExclusionFilters filters)
at roadMarkerApi.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in D:\work\web\roadMarker\roadMarkerApi\roadMarkerApi\Startup.cs:line 154
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Hosting environment: Production
Content root path: D:\web\someApi
Now listening on: http://127.0.0.1:37812
Application started. Press Ctrl+C to shut down.
我的这里出现的问题是上传文件时新建了upload
文件夹,但是生成的时候并没有带过来,所以新建一个就可以了
网友评论