如何以编程方式删除ASP.NET临时Internet文件
首先,我不是问如何找到路径或使用IO类等 我经常遇到的问题是,当从Visual Studio(2010)(Win7)重新启动正在开发的网站时,它仍然保留以前对ASP.NET临时Internet文件的引用,我发现一旦删除这些文件,问题就会消失 手动删除,我发现我必须深入到多个子文件夹层并删除其内容,然后才能在根文件夹中删除 我曾尝试使用一个小实用程序以编程方式执行删除操作,但即使在以“以管理员身份运行”或直接以“以管理员身份运行”启动exe时,也会出现权限错误(UnauthorizedAccessException) 有谁的答案比手动钻取子文件夹更流畅如何以编程方式删除ASP.NET临时Internet文件,asp.net,.net,permissions,Asp.net,.net,Permissions,首先,我不是问如何找到路径或使用IO类等 我经常遇到的问题是,当从Visual Studio(2010)(Win7)重新启动正在开发的网站时,它仍然保留以前对ASP.NET临时Internet文件的引用,我发现一旦删除这些文件,问题就会消失 手动删除,我发现我必须深入到多个子文件夹层并删除其内容,然后才能在根文件夹中删除 我曾尝试使用一个小实用程序以编程方式执行删除操作,但即使在以“以管理员身份运行”或直接以“以管理员身份运行”启动exe时,也会出现权限错误(UnauthorizedAccess
谢谢 这本身不是一个解决方案,尽管无法删除文件的原因是IIS或Cassini(内置Visual Studio web服务器)正在锁定这些文件 如果使用IIS,请关闭运行应用程序的应用程序池;如果使用Cassini,请关闭Visual Studio(或从其托盘图标中关闭ASP.NET服务器);然后可以删除临时ASP.NET文件目录中的根文件夹 然后只需重新启动应用程序池或Visual Studio(如果已关闭),即可重新开始工作 如果您使用的是IIS及其版本7或更高版本,则可以运行命令行实用程序来停止它:
appcmd start apppool /apppool.name: DefaultAppPool
只需编写一个批处理脚本就可以更轻松地为您完成:
@echo off
appcmd stop apppool /apppool.name: DefaultAppPool
del "C:\Windows\Microsoft.NET\Framework\vx.xxx.x\Temporary..." /f /q
appcmd start apppool /apppool.name: DefaultAppPool
如果您使用的是IIS 6.0,请使用PowerShell脚本启动和停止它。您可以在临时文件夹工作时对其进行修改以删除它。谢谢!剧本无疑是领跑者。奇怪的是,在不关闭任何东西的情况下,当我深入到tehm时,我可以手动删除文件(所以IIS至少允许这么多)。@johnpiegel:也许锁是文件夹锁而不是文件锁?我从来都不想知道:)