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