清除 IISExpress 缓存

clearing IISExpress cache

我正在尝试从 powershell 中清除 IISExpress 缓存。使用此代码,它会抱怨列表。

"C:\Program Files (x86)\IIS Express\appcmd.exe" list site /xml | appcmd delete site /in

如何清理站点和 IIS Express 缓存?

At line:1 char:50
+ "C:\Program Files (x86)\IIS Express\appcmd.exe"  list site /xml | app ...
+                                                  ~~~~
Unexpected token 'list' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

在 PowerShell 中,您需要使用调用运算符 (&) 将 parameters/arguments 传递给可执行文件。

$appCmd = "C:\Program Files (x86)\IIS Express\appcmd.exe"

$result = Invoke-Command -Command { & $appCmd 'list' 'sites' '/text:SITE.NAME' }

for ($i = 0; $i -lt $result.length; $i++) {
    Invoke-Command -Command { & $appCmd 'delete' 'site'  $result[$i] }
}

this page 评论的变体:

Set-Alias appcmd "$env:ProgramFiles\IIS Express\appcmd.exe"

appcmd list site /text:SITE.NAME | % { appcmd delete site $_ }

打开 CMD prompt 并导航到 IIS express - 键入以下内容

cd "C:\Program Files (x86)\IIS Express\"

run this appcmd.exe list site /xml | appcmd delete site /in

这将删除所有网站,尽情享受吧!

更新 PowerShell Version 感谢@sibbij

cd "C:\Program Files (x86)\IIS Express\"

run this ./appcmd.exe list site /xml | ./appcmd delete site /in

  1. 在调试时检查 Assembly.GetExecutingAssembly().Location 属性(watch, immediatewindow) 并在某个断点处停止
  2. 您将看到如下路径的位置

%temp%\Temporary ASP.NET Files\vs...\assembly....\YOUR.dll

  1. 检查并删除路径中的所有文件夹(可能在关闭 IIS express 和 VS 后可能)

%temp%\Temporary ASP.NET Files\