发布站点时提示无法修改ProjectName.dll的问题求助
ProjectName.dll的问题 我之前也碰到过这个一模一样的问题,折腾了好一会儿才搞定,给你几个最常见的排查和解决方法:
检查文件是否被进程占用
这绝对是最常见的原因!ProjectName.dll大概率还被你的IDE(比如Visual Studio)、IIS进程,或者某个调试工具占用着。你可以打开任务管理器,找到相关进程(比如dotnet.exe、w3wp.exe或者你的VS主进程),结束掉之后再重新发布。嫌找进程麻烦的话,用资源监视器的“关联的句柄”搜索ProjectName.dll,能精准定位到哪个进程在占用它。手动清理发布目标目录
有时候旧的dll文件因为锁定或者权限问题没法被自动覆盖,你可以手动删掉发布目标文件夹里的所有内容,然后再重新执行发布操作。如果删除时提示文件被占用,还是回到第一个方法先结束占用的进程。检查发布配置的“保留文件”设置
看看你的项目发布配置里是不是勾选了“保留目标目录中的额外文件”之类的选项,导致旧的ProjectName.dll没被替换掉。右键项目→属性→发布,找到相关配置项,确保发布时会覆盖目标目录的现有文件。确认目标目录的权限
检查当前用户账号对发布目标文件夹有没有写入和修改的权限。如果是发布到IIS的站点目录,有时候需要给IIS_IUSRS组或者当前登录用户添加对应权限。右键文件夹→属性→安全,添加权限后再尝试发布。重启相关服务或服务器
如果是发布到IIS站点,试试在命令行里敲iisreset重启IIS服务;要是还是不行,干脆重启整个服务器——有时候系统级的文件锁定只有重启才能彻底解除。
内容的提问来源于stack exchange,提问作者Serban WOT

