移动到其他IIS服务器pc后,IIS中发布的asp.net核心web api出现错误500.19(0x8007000d)
我使用visual studio 2015在asp.net core 1.0.1版中开发了一个web api,当我在开发web api的同一台pc的IIS 10中发布该web api时,一切正常。当我将web api的发布文件夹复制并粘贴到另一台pc上时,出现问题,浏览器显示错误500.19内部服务器错误,错误代码0x8007000d,“无法访问请求的页面,因为页面的相关配置数据无效”,这导致web.config中出现一些问题。 我不认为IIS的版本是问题所在,因为从IIS 10移动到IIS 8或从IIS8移动到IIS 10会产生相同的错误,而使用IIS 10的两台PC之间也会出现相同的错误。 我已经回顾了几个相关的问题,例如,和其他与web.config文件相关的问题,在这些文件中似乎发现了错误。开发环境中的web.config文件为:移动到其他IIS服务器pc后,IIS中发布的asp.net核心web api出现错误500.19(0x8007000d),iis,visual-studio-2015,asp.net-core,web-config,Iis,Visual Studio 2015,Asp.net Core,Web Config,我使用visual studio 2015在asp.net core 1.0.1版中开发了一个web api,当我在开发web api的同一台pc的IIS 10中发布该web api时,一切正常。当我将web api的发布文件夹复制并粘贴到另一台pc上时,出现问题,浏览器显示错误500.19内部服务器错误,错误代码0x8007000d,“无法访问请求的页面,因为页面的相关配置数据无效”,这导致web.config中出现一些问题。 我不认为IIS的版本是问题所在,因为从IIS 10移动到IIS 8
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
发布web api后,web.config文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\buildingSecureWebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
无论发布的是哪台计算机,此web.config文件都具有相同的内容
关于我的问题的解决方案可能是,我需要在任何版本的windows中安装web api,到目前为止,它只能在开发的pc上正常工作。要获得更详细的错误消息:
- 部署站点的Web服务器上未安装.NET Core托管捆绑包。要解决此问题,请获取此下载
- 您可能还希望验证部署计算机的环境变量中是否存在指向dotnet可执行文件的路径。要检查这一点,请首先找到安装dotnet.exe的路径。它通常位于
或C:\Program Files\dotnet
中。一旦知道路径,请确保该路径存在于环境变量中李>C:\Program Files(x86)\dotnet
控制面板>系统>高级系统设置>环境变量。突出显示“路径”,单击“编辑”,并验证指向dotnet文件夹的路径是否存在。如果不是,请添加它。对用户变量和系统变量执行相同的操作。重新启动计算机并重试。是否在生产服务器上安装了.NET Core主机包,然后重新启动?此外,在web.config中设置
stdoutLogEnabled=“true”
可能有助于缩小问题范围。放弃它。继续之前,请在Visual Studio 2017中重做一个项目,因为您使用的是过时的工具。@ChrisPratt我从[重新启动]安装了.NET Core Windows Server宿主捆绑包,但仍然收到相同的错误500内部服务器错误任何建议?@aperioculus我还尝试设置stdoutLogEnabled=“true”
在我的web.config中,但问题仍然存在。我给你一个投票权,只是为了找到托管捆绑包的下载链接。我找了又找,在下载页面的任何地方都找不到它。