Câu trả lời:
Nhóm Powershell có một sửa chữa cho điều này trên blog của họ .
Nội dung của tập lệnh từ trang web đã đề cập đến Update-gac.ps1
Set-Alias ngen (Join-Path ([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe)
[AppDomain]::CurrentDomain.GetAssemblies() |
sort {Split-path $_.location -leaf} |
%{
$Name = (Split-Path $_.location -leaf)
if ([System.Runtime.InteropServices.RuntimeEnvironment]::FromGlobalAccessCache($_))
{
Write-Host "Already GACed: $Name"
}else
{
Write-Host -ForegroundColor Yellow "NGENing : $Name"
ngen $_.location | %{"`t$_"}
}
}
Bạn có một kết nối internet flakes / mất tích?
Có thể phụ thuộc vào Windows Security cố gắng liên hệ với cơ quan cấp chứng chỉ để nhận danh sách thu hồi chứng chỉ. Nếu không có kết nối internet, bạn sẽ phải chờ thời gian chờ.
Chỉnh sửa:
Bạn có thể thử gỡ lỗi bằng cách sử dụng Process Explorer của Sysiternal (/ Microsoft). Có lẽ bạn có thể thấy những tài nguyên được truy cập bởi quá trình.
Mất bao lâu để bắt đầu ngay một ví dụ khác?
Nếu nhanh hơn nhiều, thì bạn đang thấy thời gian cần để tải .NET, PSH và Snapins. Nếu không, thì có khả năng là hồ sơ liên quan (hồ sơ PSH hoặc một cái gì đó như liên hệ với AD 1 ).
1 Tôi đã thấy điều này với nhà cung cấp AD của PSCX khi làm việc từ xa.