如何从ASP.NET应用程序中删除Bin DLL文件?
当我在IIS 7.5上尝试时,它会说“权限被拒绝”。
我编写了一个代码隐藏脚本,用于从bin目录中删除DLL文件。代码段如下:
string[] filesList = Directory.GetFiles(System.Web.HttpRuntime.BinDirectory, "*.dll");
foreach (string f in filesList)
{
try
{
File.Delete(f);
app.Context.Response.Write("R: " + f + "\n");
}
catch (IOException deleteError)
{
app.Context.Response.Write(deleteError.Message);
}
}
它在VisualStudio IIS Express上运行正常,但在生产IIS 7.5服务器上不起作用。
答案 0 :(得分:0)
您需要以管理员身份运行IIS,然后重置IIS并暂时停止您的asp.net应用程序,然后您可以打开Bin文件夹并删除DLL。
答案 1 :(得分:0)
默认情况下,IIS会自动监视bin
文件夹,对其进行任何更改都会导致应用程序池立即回收。
您可以在IIS管理器中更改此设置:
Application Pools > [Your_App_Pool] > Advance Settings > Disable Recycling for Configuration Changes = True
。
请参阅TechNet