Windows 服务中托管的 AlprNet 加载失败
AlprNet hosted in Windows service failed to load
当我在Visual Studio调试器运行我的帐户下使用此代码时
_alprNet = new AlprNet("eu", "openalpr.conf", "runtime_data");
if (!_alprNet.IsLoaded())
{
Tools.LogError("!!! OpenALPR failed to load.");
运行正常,AlprNet 加载。
但是当我安装 Windows 服务并启动该服务时,我得到
"!!! OpenALPR failed to load."
没有其他信息。
我在安装 windows 服务的 exe 文件的文件夹中拥有所有 DLL 和 runtime_data
,与 bin\Debug
文件夹中的方式完全相同。
如何查找AlprNet加载失败的原因?
万一对大家有用:
创建 new AlprNet
之前 OnStart
方法中的这一行解决了问题:
System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
显然,没有这个就无法解决非 .NET DLL 依赖关系。
当我在Visual Studio调试器运行我的帐户下使用此代码时
_alprNet = new AlprNet("eu", "openalpr.conf", "runtime_data");
if (!_alprNet.IsLoaded())
{
Tools.LogError("!!! OpenALPR failed to load.");
运行正常,AlprNet 加载。
但是当我安装 Windows 服务并启动该服务时,我得到
"!!! OpenALPR failed to load."
没有其他信息。
我在安装 windows 服务的 exe 文件的文件夹中拥有所有 DLL 和 runtime_data
,与 bin\Debug
文件夹中的方式完全相同。
如何查找AlprNet加载失败的原因?
万一对大家有用:
创建 new AlprNet
之前 OnStart
方法中的这一行解决了问题:
System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
显然,没有这个就无法解决非 .NET DLL 依赖关系。