C# 服务器上的DLL为“;“正在使用中”无法取代它

C# 服务器上的DLL为“;“正在使用中”无法取代它,c#,iis,dll,C#,Iis,Dll,我正在将ASP.NET网站发布到IIS web服务器 在服务器上,我还有一个小的C#EXE(与调试相关),它使用该网站的某个DLL。EXE通过SMB从客户端计算机打开。DLL作为“解决方案资源管理器”中的“引用”添加到EXE项目中 有时,在使用该exe进行调试后,当我尝试发布固定dll时,我会收到与该dll相关的错误消息: bin\website.dll:进程无法访问该文件,因为另一个进程正在使用该文件 我可以自信地说,当错误发生时,small EXE没有在任何地方运行,但我猜DLL没有在关闭时

我正在将ASP.NET网站发布到IIS web服务器

在服务器上,我还有一个小的C#EXE(与调试相关),它使用该网站的某个DLL。EXE通过SMB从客户端计算机打开。DLL作为“解决方案资源管理器”中的“引用”添加到EXE项目中

有时,在使用该exe进行调试后,当我尝试发布固定dll时,我会收到与该dll相关的错误消息:

bin\website.dll:进程无法访问该文件,因为另一个进程正在使用该文件

我可以自信地说,当错误发生时,small EXE没有在任何地方运行,但我猜DLL没有在关闭时直接卸载,或者可能是网络问题导致句柄挂起,即使程序已在客户端计算机上关闭

我怎样才能找到这两个词中的哪一个是真的,或者它是否是别的
(我可以在关闭时强制EXE卸载DLL吗?

可能是网站使用了DLL?您可以重新启动池ot IIS以卸载它。另一种方法是在web.config中进行更改-此操作也会卸载网站。使用可以通过functionality@General-Doomer IIS创建DLL的副本,并仅使用该副本。该问题在EXE启动之前不会发生,但在再次关闭EXE时不会停止。您是否使用TaskMan确保EXE已从内存中删除,而不是仅在后台运行?是否确定没有客户端计算机无意中打开了
.EXE