在调试引用IIS中运行的Sqlite的ASP.NET核心应用程序时,访问被拒绝

在调试引用IIS中运行的Sqlite的ASP.NET核心应用程序时,访问被拒绝,sqlite,entity-framework-core,sqlite-net,Sqlite,Entity Framework Core,Sqlite Net,ASP.NET Core 2.2项目引用了Microsoft.EntityFrameworkCore.Sqlite(2.2.3)作为一个包引用 由于提升了用户进程,在IIS Express中调试应用程序工作正常 问题:在IIS中调试应用程序时抛出错误 无法加载DLL“e_sqlite3”或其依赖项之一:访问被拒绝 如何在IIS中调试应用程序而无需费力的发布步骤 到目前为止,我的分析是:虽然在文件夹%userprofile%\.nuget\packages\sqlitepclraw.lib.e\u

ASP.NET Core 2.2项目引用了Microsoft.EntityFrameworkCore.Sqlite(2.2.3)作为一个
包引用

由于提升了用户进程,在IIS Express中调试应用程序工作正常

问题:在IIS中调试应用程序时抛出错误

无法加载DLL“e_sqlite3”或其依赖项之一:访问被拒绝

如何在IIS中调试应用程序而无需费力的发布步骤

到目前为止,我的分析是:虽然在文件夹
%userprofile%\.nuget\packages\sqlitepclraw.lib.e\u sqlite3.v110\u xp\1.1.12\runtimes\win-x64\native\e\u sqlite3.dll
中找到并成功加载了
,但它只有
读取
权限集,而没有
读取和执行
权限集

缺少的
Execute
权限似乎是罪魁祸首

如果我给
用户
组或
ApplicationPoolIdentity
Read&Execute
,它就会起作用

为什么全局NuGet packages文件夹丢失
读取和执行
?这只是非托管代码dll的问题吗

堆栈跟踪

System.DllNotFoundException:无法加载DLL“e_sqlite3”或其依赖项之一:访问被拒绝。(HRESULT异常:0x80070005(E_访问被拒绝))

在SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.sqlite3_libversion_number()
在SQLitePCL.SQLite3Provider\u e\u sqlite3.SQLitePCL.ISQLite3Provider.sqlite3\u libversion\u number()
位于SQLitePCL.raw.SetProvider(ISQLite3Provider imp)

From:.NET Core和.NETSTANDARD不将依赖项复制到输出目录,它们使用deps.json进行映射,deps.json指向本地NuGet缓存的相对路径。我尝试将
true
添加到csproj,但不会复制运行时文件夹