正在处理要部署到IIS的.Net Core Web App。
我以前已经部署过它,并且以前可以正常工作,但是我需要为应用程序增加一点持久性,并且由于此应用程序中的数据仅在应用程序内部使用过,因此不会进行两次安装永远都需要连接,我决定使用Sqlite。
但是,当我完成对应用程序的Sqlite代码实现时,我再次部署到IIS,发现没有任何效果。主要是因为我得到了这个可怕的调用堆栈。要点是e_sqlite3
在运行时无法加载,并且未内置在应用程序或程序集中。
主机环境:Production Content根路径:D:\ MFS Now 正在监听:http://localhost:31054应用程序已启动。按Ctrl + C 去关机。失败:Microsoft.AspNetCore.Server.Kestrel [13] 连接ID“ 0HLGNAK78DM3Q”,请求ID“ 0HLGNAK78DM3Q:00000001”:客户端抛出了未处理的异常 应用。 System.TypeInitializationException:类型初始值设定项 对于“ Microsoft.Data.Sqlite.SqliteConnection”引发了异常。 -> System.Reflection.TargetInvocationException:引发了异常 通过调用的目标。 ---> System.DllNotFoundException: 无法加载DLL'e_sqlite3':无法指定的模块 找到了。 (HRESULT的异常:0x8007007E)在 SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.sqlite3_libversion_number() 在 SQLitePCL.SQLite3Provider_e_sqlite3.SQLitePCL.ISQLite3Provider.sqlite3_libversion_number() 在SQLitePCL.raw.SetProvider(ISQLite3Provider imp)处 SQLitePCL.Batteries_V2.Init()
如何强制将其捆绑在一起? (或至少是在通过WebDeploy发布时复制的?)