我在Asp.NET Core 2.2框架的顶部有一个使用C#编写的项目。
我能够将其发布到我的VPS。但是,当我尝试访问该网站时,出现以下错误
HTTP错误500.19-内部服务器错误
无法访问请求的页面,因为该页面的相关配置数据无效。
这是位于根目录中的web.config文件的内容
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\ProjectName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 47b26df0-8a01-4d75-9549-3a98654550a3-->
web.config
文件与我的其余文件一起通过Visual Studio发布。但是我在解决方案中看不到web.config
文件。
此文件似乎无效。如何修复web.config文件?
如果我删除了web.config
文件并添加了index.html
页面,则该网站可以正常工作。在我看来,web.config
出于某种原因该文件无效。
已更新 我可以使用命令行运行该应用程序。 使用命令行,我做了以下
cd C:\inetpub\wwwroot\ProjectName
)dotnet ProjectName.dll
但是当我使用域名访问它时,仍然出现如上所述的Http错误500.19。
答案 0 :(得分:2)
如评论中所述
在iis中安装AspnetCore模块
在您的环境中将ASPNETCORE_ENVIRONMENT设置为生产环境或 在web.config中进行设置。
<aspNetCore processPath="dotnet"
arguments=".\MyApp.dll"
stdoutLogEnabled="false"
stdoutLogFile="\\?\%home%\LogFiles\stdout"
hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
</environmentVariables>
</aspNetCore>