我已经开发了一个WCF服务,它使用net.tcp绑定并读写文件到文件系统。 当我启动Windows服务(在控制台中)时,即使sample.dll位于文件夹中,也会出现以下错误:
无法find程序集文件sample.dll
这个特定的WCF服务托pipe在Windows 7 64位上运行的Windows服务,我有以下问题:
我应该使用哪个帐户:
用户/networking服务/本地系统/本地服务
为什么操作系统无法加载DLL,即使它在那里?
预先感谢您的帮助!
对于dll,您应该在OnStart方法的开头添加下面的代码行。
System.Environment.CurrentDirectory = System.AppDomain.CurrentDomain.BaseDirectory
这应该允许你的服务从实际目录加载dll。
根据ServiceAccount上的MSDN文档 ,用户成员将提示输入用户名和密码。 我猜如果你使用的是用户帐户,它没有读取权限的Windows / system32,这将导致你的程序集找不到。
也许更改ServiceAccount一步到LocalService?