我的网站设置在D:\RW_System\RW_Webroot\BrokerOffice.Admin
文件夹中(如下截图所示)。它是一个.NET、C# WebForms应用程序。
不知何故,每当我想要部署网站更改时,我试图复制文件,但是IIS会锁定设置网站的路径中的DLL文件:
C:\Users\rizzo\Desktop>handle64 hiqpdf
Nthandle v4.11 - Handle viewer
Copyright (C) 1997-2017 Mark Russinovich
Sysinternals - www.sysinternals.com
w3wp.exe pid: 3700 type: File 2954: D:\RW_System\RW_Webroot\BrokerOffice.Admin\bin\HiQPdf.dll
不仅仅是那个.dll文件被锁定了,所有在\bin
文件夹中的DLL文件都被锁定。我的理解是IIS将所有内容复制到C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\
文件夹下并从那里执行。
我在这台机器上有许多其他站点,其中包含多个DLL引用,如预期的那样,w3wp.exe将它们锁定在Temporary ASP.NET Files
文件夹中。
IIS中是否存在设置或者我的代码中是否存在导致IIS锁定/bin文件夹中DLL文件的原因?