C# 反射调用 dll, 调用完毕后,dll文件还显示有进程占用

我用C# 做的windows 服务,
创建线程通过反射的方式调用DLL,
当线程的方法执行完,被反射调用的DLL,无法移动或被替换,显示当前有进程占用。

我的预期,windows服务一直在机器上运行,当我想更新对应dll的方法时,只需要在windows服务没调用这个dll的时候,把文件替换。

部分代码:
foreach (DataRow dr in ds.Tables[0].Rows) 根据条件在数据库中查的结果集
{
Task task = new Task();
Thread t = new Thread(new ThreadStart(task.Start));
t.Start();
}

public class Task
{
public void Start()
{
_ass = Assembly.LoadFrom("DLL 的路径");
}
}

1个回答

的方式调用DLL,
当线程的方法执行完,被反射调用的DLL,无法移动或被替换,显示当前有进程占用。
我的预期,windows服务一直在机器上运行,当我想更新对应dll的方法时,只需要在windows服务没调用这个dll的时候,把文件替换。
部分代码:
foreach (DataRow dr in ds.Tables[0].Rows) 根据条件在数据库中查的结果集
{
Task task = new Task();
Thread t = new Thread(new ThreadStart(task.Start));
t.Start();
}
public class Task
{

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐