我有一个尝试通过IIS运行的DotNet Core 2.2应用程序。但是,出现以下错误:HTTP错误500.0-尝试在浏览器中加载应用程序时,ANCM进程内处理程序加载失败。
检查日志时显示以下内容:
Error:
An assembly specified in the application dependencies manifest (blablabla.deps.json) was not found:
package: 'AutoMapper.Extensions.Microsoft.DependencyInjection', version: '7.0.0'
path: 'lib/netstandard2.0/AutoMapper.Extensions.Microsoft.DependencyInjection.dll'
但是我认为这有点像鲱鱼。
以下是dotnet --info的输出:
.NET Core SDK (reflecting any global.json):
Version: 2.2.401
Commit: 729b316c13
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17134
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.2.401\
Host (useful for support):
Version: 2.2.6
Commit: 7dac9b1b51
.NET Core SDKs installed:
2.2.401 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
我尝试了以下所有操作:
我的应用程序池设置为“无托管代码”(所有指南均如此)。关于此事,我在每次论坛帖子和github问题上都做了些什么,对此我有些茫然。而且,它正在与我完全相同的同事计算机上运行。
但是要注意的一件事是,如果他创建了一个应用程序池的副本(相同的设置,基本和高级,只是一个不同的名称),并尝试在其上运行它,那么它也不起作用,并且他得到了和我一样的错误。它仅适用于名为“ Core AppPool”的应用程序池,该池在安装Windows Server Hosting或SDK(不确定哪个)后会自动添加到IIS。
答案 0 :(得分:1)
似乎您的应用程序池标识没有足够的权限来访问您的程序包文件夹。
我建议您尝试通过设置文件夹的安全性来设置具有足够权限的包文件夹。