[英]Service cannot find referenced DLLs
我有一个C#服务应用程序,该应用程序引用一个dll('A'),而该dll又引用了其他dll(例如'B'和'C')。 服务项目引用所有必需的dll。
进入代码在“ A”中调用一个方法,在“ B”或“ C”中调用方法。 我们从'A'收到一条自定义错误消息,提示找不到'B'和'C',尽管它们与服务位于同一文件夹中,并且我们知道这表明进程的工作文件夹为错误的(即进程认为工作文件夹在其他地方)。
问题是:如何明确告诉服务工作文件夹是什么?
TIA
如果将B.dll和C.dll复制到System32文件夹中,则可能会起作用。
要修复它,您应该在解决方案中创建一个安装程序项目。 安装程序将在正确的位置处理所有必需的.dll。
编辑#1:
这篇文章是拼图的最后一部分。 Dll必须与原始项目分开添加到设置项目中。
关键在于,我必须欺骗服务以认为工作文件夹是服务可执行文件所在的位置,由于上面的某些链接,现在我可以轻松地用代码来完成工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.