在事件日志中,我得到了更多的细节:
应用程序“...”物理根目录为'C:...\my-app-folder\',命令行未能启动进程,错误代码为'0x80004005:80008083'。
与之前在同一服务器上正常工作的应用程序不同的是,它们是使用VS2017RC(2&3)发布的,而这是第一次使用完全发布的VS2017构建。
ErrorCode = '0x80004005 : 80008083.
是什么意思?我该如何解决它?
ErrorCode = '0x80004005 : 80008083.
是什么意思?dotnet ./proj/.../bin/debug/MyDll.dll
,它打印出了我需要知道的所有内容。我是通过在Azure上查看我的Kudu
诊断控制台,即Diagnostic Console
-> LogFiles/eventlog.xml
来到这个线程的,错误消息就在底部。 - James Gould错误代码:0x80004005
表示文件丢失或无法访问。
子代码:80008083
似乎是版本冲突。
这个错误意味着服务器上需要安装不同版本的dotnet。
由于VS2017 RC附带了新版本的.NET Core SDK(.NET Core 1.0.4 SDK 1.0.1),因此您还需要在服务器上更新框架。
我找到了一个可行的解决方案,就是我在Visual Studio中的发布配置文件中添加了以下内容:
<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>
我相信这将使主机使用所需的文件来运行应用程序,而不是依赖于目标清单中设置的规格,这些规格可能是错误的(无论是服务器上的运行时/ SDK 还是您本地的运行时/ SDK 与这些规格冲突)。
我将一个新的 .NET Core 2.0 Web 应用程序发布到 Azure App Service,但遇到了此错误。
访问网站:
HTTP 错误 502.5 - 进程失败 此问题的常见原因:应用程序进程未能启动 应用程序进程已启动,但随后停止了 应用程序进程已启动,但未能侦听配置的端口
调试: 使用 Azure 应用程序洞察和应用服务 - 高级工具 (KUDU) 查看工具 - 调试控制台 - 浏览 LogFiles 文件夹中的eventlog.xml,其中有一条日志记录:
应用程序 'MACHINE/WEBROOT/APPHOST/xxxx',物理根为 'D:\home\site\wwwroot\',启动命令行 'dotnet .\WebApp.dll' 的进程启动失败,错误代码为 '0x80004005 : 8000808c。
<Provider Name="IIS AspNetCore Module"/>
<EventID>1000</EventID>
<Level>1</Level>
<Task>0</Task>
<EventData>
<Data>Application 'MACHINE/WEBROOT/APPHOST/xxxx' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\WebApp.dll', ErrorCode = '0x80004005 : 8000808c.</Data>
</EventData>
</Event>
解决方案
此答案:删除Azure中的wwwroot文件夹,然后从VS重新发布,即使最初没有遗留的Core 1.1应用程序也适用于我。
在应用程序中启动Azure控制台,然后删除wwwroot文件夹的内容,然后重新部署。
RMDIR wwwroot /S /Q
进一步测试 按照这个很有帮助的教程进行操作并且在完全相同的情况下运行成功,然后你可以根据需要进行调整以查找错误。 https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs
ErrorCode = '0x80004005 80008083
的问题,删除 wwwroot
并重新部署项目解决了这个问题。谢谢! - neilsimp1wwwroot
中有一些旧的东西,这些东西没有被新的部署清除。删除文件夹并重新部署就像魔法般地解决了问题。 - Mikolaj Kieres我创建并发布了一个名为"Mikes App"的项目,在尝试使用IIS运行该网站时,我会收到此错误消息(.NET Core应用程序无法启动,因为ErrorCode = '0x80004005')。当我通过web.config文件启用了stdoutLogs后,我发现了错误:
未找到与命令"dotnet-.\Mikes"匹配的可执行文件
我觉得很奇怪,因为web.config文件确实在参数下显示了dll路径,即".\Mikes App.dll"
<aspNetCore processPath="dotnet" arguments=".\Mikes App.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
我发现你必须安装与你在VS2017中编译的版本完全相同的托管版本。较新的版本不向后兼容(至少我尝试过的没有)。因此,例如2.2.8无法运行2.2.1版本,即使你期望一个小修订版本可以这样做。
我正在运行IIS,并且遇到了错误0x80004005:0,我在事件查看器 -> 应用程序日志中找到了这个错误。这是由于我的应用程序池没有访问网站文件夹位置所导致的。
我通过将应用程序池标识更改为具有访问该文件夹权限的标识来解决了这个问题。
针对 .net core 2.0
dotnet abcd.dll
这是您可以在安装WindowsHosting后检查的预控制...