Odpowiedzi:
Zespół Powershell naprawił to na swoim blogu .
Treść skryptu ze wspomnianej witryny 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$_"}
}
}
Czy masz niestabilne / brakujące połączenie internetowe?
Może to zależeć od próby zabezpieczenia przez system Windows kontaktu z urzędem certyfikacji w celu uzyskania listy unieważnionych certyfikatów. Jeśli nie ma połączenia z Internetem, musisz poczekać na limit czasu.
Edytować:
Możesz spróbować debugować to za pomocą Eksploratora procesów Sysinternal (/ Microsoft). Być może możesz zobaczyć, które zasoby są uzyskiwane przez proces.
Ile czasu zajmuje natychmiastowe uruchomienie innej instancji?
Jeśli znacznie szybciej, to widzisz czas potrzebny do załadowania .NET, PSH i Snapins. Jeśli nie, prawdopodobnie będzie związany z profilem (profil PSH lub coś w rodzaju kontaktu z AD 1 ).
1 Widzę to u dostawcy AD PSCX podczas pracy zdalnej.